我想使用subprocess
模块打开一个文件,就像在资源管理器中双击该文件一样。我该怎么做?
我尝试了以下一行:
subprocess.call("C:/myfile.csv", shell=True)
引发错误说:
该命令的语法是 不正确。
“C:\”未被识别为 内部或外部命令, 可操作程序或批处理文件。
如何使用subprocess
模拟双击?基本上我想在Excel 2007中打开一个CSV文件。
答案 0 :(得分:7)
os.startfile(r'C:\myfile.csv')
(仅适用于Win32。对于Mac,使用'open filename'
运行一个进程;在Linux / freedesktop-in-general上运行'xdg-open filename'
。)
答案 1 :(得分:1)
我认为你的部分问题是你使用unix样式斜杠/作为路径分隔符,而不是windows反斜杠。看起来windows正在将/myfile.csv
解释为程序C:
的参数,这就是您收到该消息的原因。
但是如果你纠正了这个问题,我认为你只是说它C:\myfile.csv
不是一个程序。
答案 2 :(得分:0)
我知道这有点晚了,但要在python 2.x(不确定3)中这样做,你应该使用subprocess
模块,引用Popen
。这是代码:
import subprocess
subprocess.Popen(r'explorer /select, "C:\"')
它基本上打开文件,然后在默认程序中打开它。