2015-02-07 81 views
0

我刚刚做了一个python程序,我使用py2exe写入了一个exe文件。 之前,该代码:.exe中的Python subprocess.call()

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”。它给了相同的“系统找不到指定的路径”消息。

+0

有时候,我只是用**使用os.system(“comman”)**,或者如果我需要一个对象来保存结果我使用* * obj = os.popen('command')。read()** – Olu 2015-02-07 09:58:20

+0

1.使用原始字符串文字:'r'''例如'r'C:\ Users \ ...''2.创建一个[ *最小*(例如,只有'subprocess.call'的脚本),但完整的代码示例演示了您的问题](http://stackoverflow.com/help/mcve)3.'shell = True' *已经*在Windows上启动'cmd.exe'。你想用这个代码实现什么? 4.不要把相关的信息放在你的问题的评论中 – jfs 2015-02-07 17:17:20

+0

@ J.F.Sebastian在我使用这个调用的程序中,它调用了一个变量。我将如何去做一个原始字符串文字的变量? – 2015-02-07 21:27:16

回答

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) 

好运