我有一个 python 脚本,它从命令行获取 2 个参数,一个可执行文件和一个文件。在我进行一些计算之后,我需要通过标准输入将此计算的结果传递给可执行文件。
1)这甚至可能吗?2)如果是这样,我怎么能在Python中做到这一点
我有一个 python 脚本,它从命令行获取 2 个参数,一个可执行文件和一个文件。在我进行一些计算之后,我需要通过标准输入将此计算的结果传递给可执行文件。
1)这甚至可能吗?2)如果是这样,我怎么能在Python中做到这一点
首先,你不应该使用 os.system 这是一个非常危险和坏的习惯。
至于您的问题,使用 subprocess 您可以执行以下操作:
from subprocess import Popen, PIPE, STDOUT
#do some stuff
data = do_some_computation_from_file
#prepare your executable using subprocess.Popen
exe = Popen(['your_executable'], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
#pass in the computed data to the executable and grap the result
result = exe.communicate(input=data)[0]