3
有時你會通過帶有文件或目錄的Zip文件來獲取名稱中的一些無法識別的字符,因此無法解壓縮它們。你用什麼工具將它們轉換爲正確轉換的文件名?如何使用非Unicode非拉丁文件名提取Zip文件?
有時你會通過帶有文件或目錄的Zip文件來獲取名稱中的一些無法識別的字符,因此無法解壓縮它們。你用什麼工具將它們轉換爲正確轉換的文件名?如何使用非Unicode非拉丁文件名提取Zip文件?
我搜索了網頁,但未能找到一個好的腳本。因此,我自己寫了一個Python腳本。希望對某人來說很方便。
歡迎任何建議,特別是如果你知道這在某些特殊情況下不起作用。請不要選擇不整潔的編碼風格。
import os,sys,zipfile
x, fn = sys.argv
enc = 'utf-8'
zipf = zipfile.ZipFile(fn)
for x in zipf.infolist():
fn = x.filename
fne = fn.encode(enc)
if os.sep in fne:
path = fne[:fne.rindex(os.sep)]
if not os.path.exists(path): os.makedirs(path)
if fne.endswith(os.sep): continue
f = open(fne,'wb')
f.write(zipf.open(fn).read())
f.close()
我沒有投票給你,但你會更好地問一個問題(「我如何提取與非unicode非拉丁文件名的zip文件?」)並提交您的解決方案作爲答案,然後接受它。 (這樣,如果它有用,你也可以在答案中得到upvotes)。 *編輯*毆打它! – Caspar
+1,因爲它聽起來很有用...但請提交它作爲答案...不只是問題 –
嗯,我認爲自我回答是好的..我看到一些實際上是教程的「問題」。好吧,我會嘗試。謝謝。 – h2kyeong