我已經寫了一個Python包hwrt
,它附帶一個model.tar
文件。文件本身和內容都不會影響用戶(他們可以看一下,這不是祕密 - 但他們不需要它)。我在哪裏可以從Python包中存儲解壓縮的程序文件?
我需要使用該檔案中的文件。爲此,我提取內容並與它們一起工作:
import tarfile
tar = tarfile.open('model.tar in python package')
tar.extractall()
tar.close()
[... work with those files ...]
This works。但是,我發現這種方法有兩個問題:
model.tar
每次都會被提取出來。- 包含的文件被放置在當前工作目錄中,用戶可能不會期望這些文件。
要解決問題(2),在我看來,在tempfile.gettempdir()
中創建臨時文件夾將是最乾淨的解決方案。但是,我不確定這是否應該完成這個工作。
是否有其他存檔格式,我可以直接訪問存檔的內容?有沒有一個目錄可以在安裝後爲我的Python包(所有用戶)放置文件?
請使用'with'語句打開文件。 – Veedrac 2014-12-05 13:14:02
'tempfile.gettempdir'對我來說看起來很好,但爲什麼你不能在tarfile *是*的地方解壓tarfile? – Veedrac 2014-12-05 13:15:42
''model.tar''內容真的是暫時的嗎?據我瞭解,你會經常訪問這些內容。我對嗎? – 2014-12-05 13:26:42