在 python 中,我使用 os.startfile 命令启动一个 Windows 可执行文件,该可执行文件在其自己的文件夹中执行特定的操作,python 代码从另一个文件夹运行,所以当我启动文件时,它在 python 脚本的工作目录中启动,但它必须从自己的目录开始。我尝试使用 os.chdir(path) 来更改工作目录,但是失败了,文件仍然没有在它自己的文件夹中运行。我想也许有一个命令,比如快捷方式的“开始”行。我已经搜索了everywere,但没有成功。我想到的唯一解决方案是创建一个快捷方式并添加“开始于”行,然后启动快捷方式,但这是非常不切实际的。
问问题
2853 次
1 回答
4
不要使用os.startfile
, 对于初学者。使用subprocess
,然后您可以使用cwd
的参数Popen
。
import subprocess
process = subprocess.Popen('command', cwd = 'directory')
如果您真的想使用ShellExecute
,那么最好的方法是跳过os.startfile
并直接调用它ctypes
(或查看它是否在 pywin32 某处)。
于 2011-06-26T23:58:28.343 回答