从 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)
这应该会简化您尝试执行的许多操作。
我有一个名为 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)
这应该会简化您尝试执行的许多操作。