2014-08-31 150 views
-1

我需要编写一个需要运行其他命令行痛苦的Python应用程序的帮助。例如,当我按命令行c:\test> BLA.exe blabla中运行的Python应用程序调用函数“BLABLA”按钮时,函数返回相同的字符串,因此我需要将它存储在变量中。运行命令行程序

所以,我不知道如何在Python中运行命令行程序,并从该程序中获取字符串。

+0

我看到后也不要了解它... – 2014-08-31 12:26:03

+0

对不起,我没有仔细阅读。我删除了重复的标志。但实际上它是在[不同的stackoverflow问题]上回答的(http://stackoverflow.com/questions/4760215/running-shell-command-from-python-and-capturing-the-output)... – Falko 2014-08-31 12:32:28

回答

0

如果您需要命令的输出,this answer可能帮助:

import subprocess 

p = subprocess.Popen(['ls', '-a'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) 
out, err = p.communicate() 
print out 

所以你的情况的一个行可能是这样的:

p = subprocess.Popen(['BLA.exe', 'blabla'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) 
+0

它只能工作一个时间,如果我在同一个程序中再次运行'blabla2',它会造成一些错误的人员(如果我直接通过命令行运行它,它会正常工作:BLA.exe blabla,输入BLA.exe blabla2,输入...)任何想法? – 2014-08-31 13:52:28

+0

@MAXK:嗯,确保你的程序不会改变工作目录。但是对于更详细的错误分析,您可能会描述“错误的人员”并发布您的Python代码。 – Falko 2014-08-31 14:35:42