外部二進制輸出從我的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