.exe中的Python subprocess.call()

时间:2015-02-07 06:07:22

标签: python python-2.7 subprocess

我刚刚使用py2exe编写了一个python程序。 之前,这段代码:

import subprocess
subprocess.call("C:\Windows\system32\cmd.exe", shell=True)

打开命令提示符。现在,当在exe中调用时,它会给出"系统无法找到指定的路径"。

我不知道为什么会这样做,因为命令提示符的路径没有改变。 任何人都可以帮助我吗?

编辑:为了正确看待事物,可以找到这个项目的一部分here。 paths.txt是正在执行的路径所在的位置。 SpeechControl.py是主文件。我想强调的是,当通过python命令行或cmd运行python脚本时,它完全正常工作,但是当我使用py2exe使其成为可执行文件时,它不会。 该程序的想法是可以在语音命令上运行可执行文件,并且使用cmd.exe只是一个例子。我没有提到这一点,但我也在测试一个spotify的路径,在我的例子中是" C:/Users/Olek/AppData/Roaming/Spotify/spotify.exe"。它给出了相同的"系统找不到指定的路径"消息。

1 个答案:

答案 0 :(得分:0)

你可以试试这样的事情

 #this executes the statement in a cmd hence launches a cmd inside a cmd
 os.system("C:/Windows/system32/cmd.exe")
 #or this holds a reference to the opened process
 result = os.popen("C:/Windows/system32/cmd.exe").read()
 #or this
 subprocess.call("C:/Windows/system32/cmd.exe", shell=True)
祝你好运