从 Python 执行 Unix 实用程序

executing a Unix utility from Python

我有一个名为 hex2bin 的 Unix 实用程序,它获取一个 hex 文件并生成一个 bin 文件。我有一个生成 hex 文件的 python 代码,我希望在生成 hex 文件后我的 python 代码调用这个 hex2bin 实用程序,如果我在 Unix 中调用终端我调用如:

hex2bin input_file.hex output_file.bin

我做了一些搜索,并根据我的发现尝试了类似的方法:

import subprocess
proc = subprocess.Popen(['hex2bin', input_file.hex, output_file.bin],
                            stdin = subprocess.PIPE,
                            stdout = subprocess.PIPE,
                            stderr = subprocess.PIPE
                        )

(out, err) = proc.communicate()
print(out)

但我得到一个错误:

NameError: name 'input_file.hex' is not defined

如何在 Python 中执行此操作?

代码如下:

import subprocess

subprocess.check_call("hex2bin input_file.hex output_file.bin", shell=True)

这应该会简化您尝试执行的许多操作。