使用os.system(A)运行命令会生成不同的输出,然后在shell中运行A.

时间:2010-12-14 07:33:16

标签: python shell unix scripting

我有一个十六进制到二进制转换器,我在Python脚本中使用...

os.system("./HexToBinary " + str(sys.argv[1]) + "_hex " + str(sys.argv[1]) + "_binary")

如果我在文件A_hex上运行我的python脚本,它会生成文件A_binary。

但是如果我直接在命令行中运行此命令,则在文件AA_hex上生成AA_binary。但A_binary和AA_binary不同!

diff example_python example_shell 
Binary files example_python and example_shell differ

python os.system调用生成的版本缺少一大块数据。它似乎被切断了。

我有点难过。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我不知道是否需要,但请等一下,http://docs.python.org/library/os.html#os.wait

另外,检查系统的输出,它可能有助于告诉你是否有错误