如何在python中提取7z zip文件。請讓我知道是否有任何庫文件。如何在Python 2.7.3版本中提取7z zip文件
我已經在python 2.7.3版本中安裝了libarchive庫。但我無法使用該庫。
如何在python中提取7z zip文件。請讓我知道是否有任何庫文件。如何在Python 2.7.3版本中提取7z zip文件
我已經在python 2.7.3版本中安裝了libarchive庫。但我無法使用該庫。
您可以使用PyLZMA
和py7zlib
庫來提取7z
文件或嘗試執行shell腳本以使用python subprocess
模塊提取zip文件。
請分享我如何在python 2.7.3版本中安裝PyLZMA和py7zlip庫。 – 2014-10-28 08:25:17
對於Windows,您可以使用http://www.lfd.uci.edu/~gohlke/pythonlibs/#pylzma庫,但對於Linux,我認爲您應該自己從源代碼構建它。但看看http://www.joachim-bauch.de/projects/pylzma/ – 2014-10-28 08:33:47
謝謝我已經安裝在windows.Please分享給我任何7z拉鍊提取的例子,這將是對我有幫助 – 2014-10-28 08:41:14
我在我的C++項目中使用像C:\Program Files\7-Zip\7z.exe x <filename>
這樣的命令。您可以在Python這樣運行這個程序:
import subprocess
subprocess.call(r'"C:\Program Files\7-Zip\7z.exe" x ' + archive_name + ' -o' + folder_name_to_extract)
或32位版本:
subprocess.call(r'"C:\Program Files (x86)\7-Zip\7z.exe" x ' + archive_name + ' -o' + folder_name_to_extract)
按照Python doc (about the subprocess),你可能寧願使用建議報告功能運行(如本爲例)。
from subprocess import run
run('C:\\Program Files\\7-Zip\\7zG.exe x'+ archive_name + ' -o' + folder_name_to_extract)`
PS0:一書於,不要忘了逃脫的完整路徑的字符;它可以在Windows下特別提供幫助。否則操作系統找不到7zip(或其他程序)。
PS1:很顯然,評論很難寫......顯示效果不一樣(就像只將所有文本分組在一行中一樣),並通過觸摸輸入,帖子將被髮布(未完成)。來自stackoverflow.com的系統是錯誤的,因爲我想只添加幾行而不發佈它。也因爲沒有,此刻,我還沒有寫完(這篇文章)。
這在Windows中適用於我。你想拍攝的字符串是這樣的:
C:/Egain_ETL/7-Zip/7z.exe e "C:/Egain_ETL/EG_DATA_EXTRACT_2017-11-25 09-45-10-627.7z" -p"[email protected]" -o"C:/Egain_ETL/"
通知調用的exe和選項是不帶引號的,其他一切都是用雙引號。
示例代碼:
import subprocess
Z_Location = 'C:/Egain_ETL/7-Zip/7z.exe'
Extract_File = 'C:/Egain_ETL/EG_DATA_EXTRACT_2017-11-25 09-45-10-627.7z'
Extract_PW = '[email protected]'
Extact_Folder = 'C:/Egain_ETL/'
Extract_Target = Z_Location + ' e ' + '"' + Extract_File + '"' + ' -p' + '"' + Extract_PW + '"' + ' -o' + '"' + Extact_Folder + '"'
subprocess.run(Extract_Target)
請提供有關該問題的更多詳細信息。爲什麼你不能使用圖書館? – 2014-10-28 07:55:11
libarchive庫安裝在site-packeges下。例如C:\ Python27 \ Lib \ site-packages \ libarchive-0.4.3-py3.2.egg \ libarchive Archive.reader模塊不存在。如何使用確切的類 – 2014-10-28 08:25:49
看看我在解壓縮代碼在ScanCode這裏:https://github.com/nexB/scancode-toolkit/blob/e45f8f401ca22a15fda6a78dff317e8acf94038e/src/extractcode/sevenzip.py這是一個命令行的包裝7zip for Windows/Linux/Mac – 2016-05-12 05:08:02