Python更改使用startfile打开的exe的工作目录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python更改使用startfile打开的exe的工作目录相关的知识,希望对你有一定的参考价值。
在python中我使用os.startfile命令启动一个Windows可执行文件,它在自己的文件夹中执行特定的东西,python代码从另一个文件夹运行,所以当我启动文件时,它从python脚本的工作目录开始,但它必须从它自己的目录开始。我曾尝试使用os.chdir(path)来更改工作目录,但是它失败了,文件仍然没有在它自己的文件夹中运行。我想也许有一个像快捷方式“开始”行的命令。我搜索了每一个,但没有成功。我想到的唯一解决方案是创建一个快捷方式并添加“开始”行,然后启动快捷方式,但这是非常不切实际的。
答案
首先不要使用os.startfile
。使用subprocess
,然后你可以使用cwd
的Popen
参数。
import subprocess
process = subprocess.Popen('command', cwd = 'directory')
如果你真的想使用ShellExecute
,那么最好的方法是跳过os.startfile
并直接用ctypes
调用它(或者查看它是否在某个地方的pywin32中)。
以上是关于Python更改使用startfile打开的exe的工作目录的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Rust 使用默认程序启动任何文件(如 Python 的 `os.startfile()`)