繁体   English   中英

Python:subprocess.call错误“找不到命令”

[英]Python: subprocess.call error “command not found”

我正在尝试像这样在python脚本中运行命令:

subprocess.call("ghdl -a --ieee=synopsys -fexplicit " + testBenchFile + " >> a_log.txt", shell = True)

使用“ testBenchFile是字符串,但是会引发”找不到命令”错误。

我究竟做错了什么?

更改:

subprocess.call("ghdl -a --ieee=synopsys -fexplicit " + testBenchFile + " >> a_log.txt", shell = True)

至:

subprocess.call(["ghdl", "-a", "--ieee=synopsys", "-fexplicit", testBenchFile, ">>", "a_log.txt"], shell = True)

您还可以变得更“ pythonic”,并与日志文件配合使用:

 log_file = open("a_log.txt", "a")
 subprocess.call(["ghdl", "-a", "--ieee=synopsys", "-fexplicit", testBenchFile], shell = True, stdout=log_file)

使用stdout参数可以重定向命令的输出,例如> 但是,由于使用模式"a"打开文件,因此您将模拟>>

尝试提供args作为列表。

subprocess.call(["ghdl", "-a", "--ieee=synopsys", "-fexplicit",  testBenchFile,  ">>",  "a_log.txt"], shell = True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM