extractallpython
linux:
os.system('tar zxf %s' % filename )
window:
import tarfile
tar = tarfile.open("sample.tar.gz")
tar.extractall()
tar.close()
㈡ python怎樣壓縮和解壓縮ZIP文件
指令如下:
import zipfile
zip_ref = zipfile.ZipFile(path_to_zip_file, 'r')
zip_ref.extractall(directory_to_extract_to)
zip_ref.close()
其中zipfile是python自帶的一個工具包,用來解壓縮的,應該不需要安裝就有。
㈢ python 3.2版本 解壓rar/zip到指定目錄
python沒有rar模塊的
㈣ Python 數據處理(三十六)—— 文本數據處理(續)
可以使用 [] 符號直接按位置進行索引,如果索引超過字元串的長度,結果將是 NaN
在 0.23 版本之前, extract 方法的參數 expand 默認為 False 。當 expand=False 時, expand 會根據正則表達式模式返回一個 Series 、 Index 或 DataFrame
當 expand=True 時,它總是返回一個 DataFrame ,這種方式更加符合用戶的需求,從 0.23.0 版本開始就是默認的
extract 方法接受一個至少包含一個捕獲組的正則表達式
如果是包含多個組的正則表達式將返回一個 DataFrame ,每個捕獲組是一列
未匹配的行會填充 NaN ,可以從混亂的字元串序列中提取出有規則的信息。
對於命名分組
對於可選的分組
注意 :正則表達式中的任何捕獲組名稱都將用作列名,否則將使用捕獲組號
如果 expand=True ,則返回一個 DataFrame
如果 expand=False ,則返回一個 Series
對於索引,如果 expand=True ,且只有一個捕獲組則返回一個只有一列的 DataFrame
此時,如果 expand=False 將會返回一個 Index
對於索引,正則表達式設置多個分組將返回 DataFrame
如果 expand=False 將會拋出 ValueError 異常
對於 extract 只返回第一個匹配項
與 extract 不同, extractall 方法返回每個匹配項,其結果始終是具有 MultiIndex 的 DataFrame 。
MultiIndex 的最後一級名為 match ,標示的是匹配的順序
對於只有一個匹配的 Series
extractall(pat).xs(0, level='match') 與 extract(pat) 的結果一致
Index 也支持 .str.extractall ,它返回一個 DataFrame ,其結果與 Series.str 相同。
您可以檢查字元串元素中是否包含正則匹配模式
或者字元串元素是否與模式匹配
而在 1.1.0 版本中
注意 :
match 、 fullmatch 和 contains 之間的區別是:
這三個函數於 re 模塊的 re.fullmatch 、 re.match 和 re.search 對應
像 match , fullmatch , contains , startswith 和 endswith 有一個額外的 na 參數,用於將缺失值替換為 True 或 False
您可以從字元串列中提取指標變數。例如,如果使用 '|' 分隔的字元串
字元串 Index 也支持 get_mmies ,它返回一個 MultiIndex
㈤ 用python解壓圖片並列印代碼
import zipfile
# 傳入壓縮文件zfile.zip獲取相關信息
zip_file = zipfile.ZipFile('zfile.zip')
# 獲取壓縮文件中的內容
f_content = zip_file.namelist()
# 壓縮前的大小
f_size = zip_file.getinfo('zfile/a.txt').file_size
# 壓縮後的大小
c_size = zip_file.getinfo('zfile/a.txt').compress_size
ZipFile 對象有一個 namelist()方法,返回 ZIP 文件中包含的所有文件和文件夾 的字元串的列表。這些字元串可以傳遞給 ZipFile 對象的 getinfo()方法,返回一個關 於特定文件的 ZipInfo 對象。ZipInfo 對象有自己的屬性,諸如表示位元組數的 file_size 和 compress_size,它們分別表示原來文件大小和壓縮後文件大小。ZipFile 對象表示 整個歸檔文件,而 ZipInfo 對象則保存該歸檔文件中每個文件的有用信息。
從 ZIP 文件中解壓縮
ZipFile 對象的 extractall()方法從 ZIP 文件中解壓縮所有文件和文件夾,放到當 前工作目錄中。
import zipfile
zip_file = zipfile.ZipFile('zfile.zip')
# 解壓
zip_extract = zip_file.extractall()
zip_extract.close()
運行這段代碼後, example.zip 的內容將被解壓縮到 C:。 或者, 你可以向 extractall()傳遞的一個文件夾名稱,它將文件解壓縮到那個文件夾,而不是當前工作 目錄。如果傳遞給 extractall()方法的文件夾不存在,它會被創建。例如,如果你用 exampleZip.extractall('C: delicious')取代處的調用,代碼就會從 example.zip 中解壓 縮文件,放到新創建的 C:delicious 文件夾中。
ZipFile 對象的 extract()方法從 ZIP 文件中解壓縮單個文件。
創建和添加到 ZIP 文件
要創建你自己的壓縮 ZIP 文件,必須以「寫模式」打開 ZipFile 對象,即傳入'w' 作為第二個參數(這類似於向 open()函數傳入'w',以寫模式打開一個文本文件)。
如果向 ZipFile 對象的 write()方法傳入一個路徑,Python 就會壓縮該路徑所指 的文件,將它加到 ZIP 文件中。write()方法的第一個參數是一個字元串,代表要添 加的文件名。第二個參數是「壓縮類型」參數,它告訴計算機使用怎樣的演算法來壓 縮文件。可以總是將這個值設置為 zipfile.ZIP_DEFLATED(這指定了 deflate 壓縮 演算法,它對各種類型的數據都很有效)。
import zipfile
zip_file = zipfile.ZipFile('new.zip','w')
# 把zfile整個目錄下所有內容,壓縮為new.zip文件
zip_file.write('zfile',compress_type=zipfile.ZIP_DEFLATED)
# 把c.txt文件壓縮成一個壓縮文件
# zip_file.write('c.txt',compress_type=zipfile.ZIP_DEFLATED)
zip_file.close()
這段代碼將創建一個新的 ZIP 文件,名為 new.zip,它包含 spam.txt 壓縮後的內容。
要記住,就像寫入文件一樣,寫模式將擦除 ZIP 文件中所有原有的內容。如果 只是希望將文件添加到原有的 ZIP 文件中,就要向 zipfile.ZipFile()傳入'a'作為第二 個參數,以追加模式打開 ZIP 文件。
㈥ python中的zipfile
python中的zipfile模塊是用於解壓/壓縮zip文件的,壓縮a.txt為a.zip,從b.zip解壓出b.txt(假設它們都放在d:\,且b.zip中只有b.txt)示範代碼如下5行:
from os import chdir;
from zipfile import ZipFile;
chdir("d:/");
with Zipfile("d:/b.zip","r") as zipf:zipf.extractall();
with Zipfile("d:/a.zip","w") as zipf:zipf.write("d:/a.txt");