簡體   English   中英

如何在Python 2.7.3版本中提取7z zip文件

[英]How to extract 7z zip file in Python 2.7.3 version

如何在python中提取7z zip文件。請讓我知道是否有任何庫。

我在python 2.7.3版本中安裝了libarchive庫。 但我無法使用該庫。

您可以使用PyLZMApy7zlib庫來提取7z文件或嘗試使用python subprocess模塊執行shell腳本來提取zip文件。

我在我的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文檔(關於子進程) ,您可能寧願使用推薦的函數運行 (例如在此示例中)。

from subprocess import run
run('C:\\Program Files\\7-Zip\\7zG.exe x'+ archive_name + ' -o' + folder_name_to_extract)`

PS0:一個adivce,不要忘記在完整的道路上逃避角色; 它可以在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"Dev@123" -o"C:/Egain_ETL/"

請注意,對exe和options的調用是不加引號的,其他所有內容都是雙引號。

示例代碼

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 = 'Dev@123'
Extact_Folder = 'C:/Egain_ETL/'

Extract_Target = Z_Location + ' e ' + '"' + Extract_File + '"' + ' -p' + '"' + Extract_PW + '"' + ' -o' + '"' + Extact_Folder + '"'

subprocess.run(Extract_Target)

!apt-get install p7zip-full !p7zip -d file_name.tar.7z

嘗試以上步驟

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM