我想让我的python程序在Windows中执行一个文件。这意味着如果我尝试执行.txt
文件,它将使用默认的.txt
查看器打开。这可能吗?
我尝试了subprocess.call
,但我得到了WindowsError: [Error 193] %1 is not a valid Win32 application
。我正在尝试运行的文件是.png
文件。
答案 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文件,只需运行它。