2014-10-09 14 views
3

我想打開一個外部配置文件並在編輯器中將其呈現給用戶。Python:os.tmpfile或tempfile.mkstemp

我在想的解決方案是創建一個臨時文件並將原始文件的內容複製到它。臨時文件將被打開,供用戶在默認編輯器中進行編輯。這一切都完成了,因爲不應該將錯誤的配置寫入原始文件。

當用戶保存更改並關閉編輯器時,python腳本將檢查更改是否可接受,並且只有覆蓋原始文件(如果是這種情況)。

我做了一些研究,似乎有在Python中創建一個臨時文件的兩種可能性:

os.tmpfile 

tempfile.mkstemp 

它們之間有什麼區別呢?哪一個更適合這項任務?還是有更好的方法來做到這一點?

感謝

回答

2

如果只使用臨時文件模塊,爲它的文檔更好,我們確切地知道mkstemp()是做

+1

同意了,'tempfile'似乎集中多一點的原因安全性和(如果需要)定製。另外,它看起來像'os.tmpfile'甚至在Python 3中不存在(或者至少不會出現在[文檔](https://docs.python.org/3.4/library/os.html)爲3.4)。 – myersjustinc 2014-10-09 17:14:40