我正在尝试像这样在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"
打开文件,因此您正在模拟>>
。
关于python - Python:subprocess.call错误“找不到命令”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22177951/