外部二进制输出从我的Python脚本我需要调用因此两个外部二进制文件,以处理文件中的两个步骤:处理文件输入/从蟒蛇
import os, subprocess
sbp = subprocess.Popen(['program_1', '-i', 'input.file', '-o', 'temp.file'])
sbp = subprocess.Popen(['program_2', '-i', 'temp.file', '-o', 'output.file'])
os.remove('temp.file')
不过,这将是不错的速度 - 通过使用基于虚拟RAM的文件而不是基于“物理”磁盘的管道来减少磁盘使用量。我知道我可以使用StringIO
或tempfile.SpooledTemporaryFile()
来处理Python脚本中的虚拟文件,但有没有可能将链接传递给这样的文件到外部二进制文件?
它也没有找到临时文件到RAM – Roman 2014-10-29 13:38:11
您正在寻找的是[mmap](https://docs.python.org/2/library/mmap.html)模块 – 2014-10-29 16:02:18
当您调用外部二进制,它不能与标准输入/标准输出一起使用,你必须提供包含'-i'/' - o'键的文件路径的字符串变量。在tempfile模块中有一个特殊的属性'name'。但是,mmap似乎没有模拟。可能,这根本不可能。 – Roman 2014-10-29 16:28:01