使用Python在Windows中执行文件

时间:2016-04-21 19:47:11

标签: python subprocess execute

我想让我的python程序在Windows中执行一个文件。这意味着如果我尝试执行.txt文件,它将使用默认的.txt查看器打开。这可能吗?

我尝试了subprocess.call,但我得到了WindowsError: [Error 193] %1 is not a valid Win32 application。我正在尝试运行的文件是.png文件。

3 个答案:

答案 0 :(得分:4)

os.startfile("myText.txt") #open text editor
os.startfile("myText.pdf") #open in pdf viewer
os.startfile("myText.html") #open in webbrowser

是你应该怎么做的

然而

os.startfile("my_prog.py")

可能是一个坏主意,因为没有办法知道python是否设置为打开* .py的默认值,或者如果将texteditor或ide设置为默认打开* .py

答案 1 :(得分:2)

这将使用.txt扩展程序的注册应用程序启动该文件:

import os
os.system("start myText.txt")

使用您需要的子流程

subprocess.call("start myText.txt", shell=True)

因为start是shell的一部分。

答案 2 :(得分:1)

假设您有一个文件myText.txt 如果要通过命令行打开该文件,只需编写~$ myText.txt即可 所以在Python中,您只需运行一个打开文件的cmd命令即可。说:

import os
os.system("myText.txt") #Requires myText.txt and the python file to be in same folder. Otherwise full path is required.

这会在默认编辑器中打开文件,或者如果它是exe文件,只需运行它。