python tarfile解壓失敗怎麼解決

lee_lgw發表於2021-09-11

python tarfile解壓失敗怎麼解決

問題原因

在使用tarfile模組解壓一份Linux伺服器上的打包檔案時,出現了錯誤提示:IOError:[Errno 22] invalid mode ('wb') or filename.

經過檢查,發現是因為打包檔案中有檔名存在“:”符號,而window下的檔名是不能有“:”符號的,所以報錯。

相關推薦:《》

解決辦法

可以將解壓時含“:”的地方轉換成“_”等正常的符號即可。

extract = tarfile.open(file)
for f in extract:
    # add other unsavory characters in the brackets
    f.name = re.sub(r'[:]', '_', f.name)
extract.extractall(path=new_path)
extract.close()

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1020/viewspace-2836252/,如需轉載,請註明出處,否則將追究法律責任。

相關文章