我已經創建了臨時命名文件,並帶有tempfile庫的NamedTemporaryFile方法。 我已經寫信給他們刷新緩衝區,並且我還沒有關閉它們(否則它們可能會消失)子進程模塊:使用tempfile對象的調用方法
我試圖使用subprocess
模塊使用這些生成的文件調用某些shell命令。
subprocess.call('cat %s' % f.name)
總是失敗,說明指定的臨時文件不存在。
os.path.exists(f.name)
始終返回true。 我可以從shell直接在文件上運行cat命令。
是否有某些原因subprocess
模塊不能用於臨時文件?
有什麼辦法可以使它工作嗎?
在此先感謝。
我沒有使用shell = True,所以我改變了它。現在錯誤出現,說:'/ bin/sh:沒有這樣的文件或目錄' – Matt 2009-06-26 15:19:48
這些文件也沒有被刪除。我可以在我的終端中打開另一個選項卡並捕獲這些文件。就像我說的,os.path.exists仍然說文件在那裏。它是與子進程模塊的東西。 – Matt 2009-06-26 15:21:03