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

2024-10-01 11:30:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试用如下python脚本运行命令:

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

“testBenchFile是一个字符串,但它抛出一个“Command not found”错误。在

我做错什么了?在


Tags: 字符串命令txt脚本logtrueshellcall
2条回答

尝试以列表形式提供参数。在

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)

收件人:

^{2}$

你也可以变得更“Python式”,好好处理你的日志文件:

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

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

相关问题 更多 >