我正致力于开发板闪存过程的自动化。 我有一个命令行闪存工具,它允许我执行闪存板所需的各种命令。
我正在尝试使用Python脚本进行自动化。 我使用subProcess.Popen启动.exe然后我需要执行其他命令。 我已经在sudo代码下面发布了:
process = subprocess.Popen(filename.exe, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
process.communicate(arg)
我也试过subProcess.stdin(arg)
但我无法获得理想的结果。 我尝试创建批处理文件然后从Python运行它,但也没有运气。它只是启动exe然后关闭它。
任何人都可以帮我解决这个问题。我刚开始使用Python脚本,所以请帮帮我。
答案 0 :(得分:0)
你可以使用os.system()(http://docs.python.org/library/os.html#os.system)从python中执行另一个程序。
答案 1 :(得分:0)
从你的问题猜测,你正试图执行一系列命令吗? 例如:
filename.exe arg1 arg2
file2.exe arg3 arg4
最简单的方法是:
import subprocess
subprocess.check_output(['filename.exe', 'arg1', 'arg2'])
subprocess.check_output(['file2.exe', 'arg3', 'arg4'])
的文档
答案 2 :(得分:0)
如何简单地将参数附加到命令字符串,如下所示:
p = subprocess.Popen('%s %s' % (filename, args), shell=True)
sts = os.waitpid(p.pid, 0)[1]
答案 3 :(得分:0)
您应该删除" shell = True",因为您可能不需要通过shell运行您的exe程序。 对于论点,它就是这样:
process = subprocess.Popen(['filename.exe', arg1, arg2], stdin=subprocess.PIPE, stdout=subprocess.PIPE)