【发布时间】:2020-03-01 00:49:14
【问题描述】:
我尝试使用 os.system 库从本地 python 项目中的特定路径运行 exe(在后台)。 我已经设法更改了“cd”命令之类的文件夹,但我无法运行该文件。
这是针对在 Windows 64BIT、Python 3.5.3 上运行的 python 项目
file.exe 位于“程序”目录中。
import os
os.system("cd C:\Users\User\AppData\Windows\Start Menu\Programs")
subprocess.Popen("file.exe")
错误:
{OSError}[WinError 193] %1 不是有效的 Win32 应用程序
我看到了关于这个问题的其他帖子,但我无法解决它。 有什么想法吗?
【问题讨论】:
-
你试过os.system("./file.exe")吗?
-
我可能错了,但我认为使用
os.system调用更改目录只会更改该调用的目录。打开一个外壳,执行命令,然后关闭外壳。改用os.chdir来更改脚本工作目录。 -
@SyntaxVoid 它对我有用。 os.system() 也改变了下一个命令的路径
-
@Moshe,很奇怪。这不是它在我的机器上的作用方式,即使我以管理员身份运行 python
os.getcwd(); os.system("cd Desktop"); os.getcwd()将显示相同的目录并且不会发生任何更改。无论我是在交互式 python shell 中,还是运行 .py 文件,都会发生这种情况。
标签: python python-3.x subprocess os.system