Python更改使用startfile打开的exe的工作目录

问题描述 投票:1回答:1

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

python windows operating-system executable working-directory
1个回答
4
投票

首先不要使用os.startfile。使用subprocess,然后你可以使用cwdPopen参数。

import subprocess
process = subprocess.Popen('command', cwd = 'directory')

如果你真的想使用ShellExecute,那么最好的方法是跳过os.startfile并直接用ctypes调用它(或者查看它是否在某个地方的pywin32中)。

© www.soinside.com 2019 - 2024. All rights reserved.