1

在 python 中,我使用 os.startfile 命令启动一个 Windows 可执行文件,该可执行文件在其自己的文件夹中执行特定的操作,python 代码从另一个文件夹运行,所以当我启动文件时,它在 python 脚本的工作目录中启动,但它必须从自己的目录开始。我尝试使用 os.chdir(path) 来更改工作目录,但是失败了,文件仍然没有在它自己的文件夹中运行。我想也许有一个命令,比如快捷方式的“开始”行。我已经搜索了everywere,但没有成功。我想到的唯一解决方案是创建一个快捷方式并添加“开始于”行,然后启动快捷方式,但这是非常不切实际的。

4

1 回答 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 回答