【发布时间】:2017-03-24 10:33:08
【问题描述】:
我需要实现一个外部应用程序来计算 Modbus 通信的 CRC 值。 可执行文件需要输入字符串并返回如下输出:
CRC16 = 0x67ED / 26605
CRC16 (Modbus) = 0x7CED / 31981
我调用程序,然后手动输入。
p = Popen(["some_file.exe", "-x"], stdin=PIPE)
p.communicate("some_string")
到目前为止一切正常。
但是,我想将输出保存到变量或其他东西(没有额外的文件)以供进一步使用。
我知道有 stdout 和 stderr 参数,但是在输入时
p = Popen([file, "-x"], stdin=PIPE, stdout=PIPE, stderr=PIPE)
什么都没有发生。
有人知道该怎么做吗?
提前致谢。
PS:在 Windows 7 上使用 Python 2.7。
【问题讨论】:
标签: python python-2.7 subprocess popen