python解凍圧縮パッケージの5つの方法を詳しく説明します。
ここではPythonを用いた解凍を以下の5つの圧縮ファイルのように検討します。
.gz.tar .tgz.zip.rar
簡単な紹介
gz:gzipです。通常は一つのファイルだけを圧縮できます。タタと合わせれば、先に包装して圧縮することができます。
tar:linuxシステムの下の荷造り道具です。包装だけします。圧縮しない
tgz:つまり、tar.gzです。まずタタで包んで、gzで圧縮したファイルを使います。
zip:gzipとは違います。類似のアルゴリズムを使っても、複数のファイルを圧縮することができます。ファイルを個別に圧縮するだけです。圧縮率がtarを下回る。
rar:圧縮ファイルを包装します。最初はDOSとして使われていましたが、window OSに基づいています。
圧縮率はzipより高いですが、速度は遅いです。ランダムL問の速度も遅いです。
zipとrarの間の各種比について^^。表示:
http://www.comicer.com/stronghorse/water/software/ziprar.htm
gz
gzは普通一つのファイルだけを圧縮するので、全部他のパッケージと一緒に作業します。例えば、まずtarでXX.tarに包んで、圧縮してXX.tar.gzにすることができます。
gzを解凍すると、実際には単一のファイルを読み出し、Pythoonの方法は、例えば以下のようになります。
XXXX.tar.gzを解凍した後、XXXX.tarを得て、さらに解凍します。
*注:tgzとtar.gzは同じフォーマットで、古いバージョンのDOS拡張子は最大3文字ですので、tgzで表します。
ここに複数のファイルがありますので、ファイル名を全部読みます。そしてストレスを解消します。例えば、以下のようなものがあります
zip
タタと同様に、複数のファイル名を読み出して解凍する。例えば、以下のようなものがあります
rarは通常windowで使用されるため、追加のPythonパッケージrarfileが必要です。
利用可能な住所:http://sourceforge.net/projects/rarfile.berlios/files/rarfile-2.4.tar.gz/download
Pythonにフォルダをインストールする/Scrippts/フォルダを展開し、現在のフォームでコマンドラインを開きます。
入力
パッケージコードを書く過程で、tar.add()を使ってファイルを追加すると、ファイル自体のパスも追加されます。arcnameを加えると、自分の名前のルールに従ってファイルをtarパケットに追加することができます。
パッケージコード:
tafile.openのmodeは非常に多様です。
mode action
タタが解凍する
タタ解凍は、圧縮フォーマットによっても解凍することができる。
1.pip
(ストレス解消、圧縮という方法はサポートされていませんので注意してください。)
以上は小编が皆さんに绍介したpython圧縮袋を解凍する5つの方法です。皆さんに何かお聞きしたいことがあれば、メッセージをください。小编はすぐにご返事します。ここでも私たちのサイトを応援してくれてありがとうございます。
本文があなたのためになると思ったら、転載を歓迎します。出所を明記してください。ありがとうございます。
.gz.tar .tgz.zip.rar
簡単な紹介
gz:gzipです。通常は一つのファイルだけを圧縮できます。タタと合わせれば、先に包装して圧縮することができます。
tar:linuxシステムの下の荷造り道具です。包装だけします。圧縮しない
tgz:つまり、tar.gzです。まずタタで包んで、gzで圧縮したファイルを使います。
zip:gzipとは違います。類似のアルゴリズムを使っても、複数のファイルを圧縮することができます。ファイルを個別に圧縮するだけです。圧縮率がtarを下回る。
rar:圧縮ファイルを包装します。最初はDOSとして使われていましたが、window OSに基づいています。
圧縮率はzipより高いですが、速度は遅いです。ランダムL問の速度も遅いです。
zipとrarの間の各種比について^^。表示:
http://www.comicer.com/stronghorse/water/software/ziprar.htm
gz
gzは普通一つのファイルだけを圧縮するので、全部他のパッケージと一緒に作業します。例えば、まずtarでXX.tarに包んで、圧縮してXX.tar.gzにすることができます。
gzを解凍すると、実際には単一のファイルを読み出し、Pythoonの方法は、例えば以下のようになります。
import gzip
import os
def un_gz(file_name):
"""ungz zip file"""
f_name = file_name.replace(".gz", "")
# ,
g_file = gzip.GzipFile(file_name)
# gzip
open(f_name, "w+").write(g_file.read())
#gzip read() , open() 。
g_file.close()
# gzip
タラXXXX.tar.gzを解凍した後、XXXX.tarを得て、さらに解凍します。
*注:tgzとtar.gzは同じフォーマットで、古いバージョンのDOS拡張子は最大3文字ですので、tgzで表します。
ここに複数のファイルがありますので、ファイル名を全部読みます。そしてストレスを解消します。例えば、以下のようなものがあります
import tarfile
def un_tar(file_name):
untar zip file"""
tar = tarfile.open(file_name)
names = tar.getnames()
if os.path.isdir(file_name + "_files"):
pass
else:
os.mkdir(file_name + "_files")
# ,
for name in names:
tar.extract(name, file_name + "_files/")
tar.close()
*注:tgzファイルとtarファイルは同じ解凍方法です。zip
タタと同様に、複数のファイル名を読み出して解凍する。例えば、以下のようなものがあります
import zipfile
def un_zip(file_name):
"""unzip zip file"""
zip_file = zipfile.ZipFile(file_name)
if os.path.isdir(file_name + "_files"):
pass
else:
os.mkdir(file_name + "_files")
for names in zip_file.namelist():
zip_file.extract(names,file_name + "_files/")
zip_file.close()
rarrarは通常windowで使用されるため、追加のPythonパッケージrarfileが必要です。
利用可能な住所:http://sourceforge.net/projects/rarfile.berlios/files/rarfile-2.4.tar.gz/download
Pythonにフォルダをインストールする/Scrippts/フォルダを展開し、現在のフォームでコマンドラインを開きます。
入力
Python setup.py install
インストールが完了しました。
import rarfile
import os
def un_rar(file_name):
"""unrar zip file"""
rar = rarfile.RarFile(file_name)
if os.path.isdir(file_name + "_files"):
pass
else:
os.mkdir(file_name + "_files")
os.chdir(file_name + "_files"):
rar.extractall()
rar.close()
タタリ包装パッケージコードを書く過程で、tar.add()を使ってファイルを追加すると、ファイル自体のパスも追加されます。arcnameを加えると、自分の名前のルールに従ってファイルをtarパケットに追加することができます。
パッケージコード:
#!/usr/bin/env /usr/local/bin/python
# encoding: utf-8
import tarfile
import os
import time
start = time.time()
tar=tarfile.open('/path/to/your.tar,'w')
for root,dir,files in os.walk('/path/to/dir/'):
for file in files:
fullpath=os.path.join(root,file)
tar.add(fullpath,arcname=file)
tar.close()
print time.time()-start
包装の過程で、gz圧縮の形式で包装したいなら、圧縮規則を設定することができます。tar=tarfile.open('/path/to/your.tar.gz','w:gz')
他のフォーマットは、例えば以下の表です。tafile.openのmodeは非常に多様です。
mode action
タタが解凍する
タタ解凍は、圧縮フォーマットによっても解凍することができる。
#!/usr/bin/env /usr/local/bin/python
# encoding: utf-8
import tarfile
import time
start = time.time()
t = tarfile.open("/path/to/your.tar", "r:")
t.extractall(path = '/path/to/extractdir/')
t.close()
print time.time()-start
上のコードは全部解凍されています。順番に違う処理をすることもできますが、もしタタのカバンの中のファイルが多すぎると、メモリに気をつけてください。
tar = tarfile.open(filename, 'r:gz')
for tar_info in tar:
file = tar.extractfile(tar_info)
do_something_with(file)
ps:pythonはrarファイルの解凍を実現します。1.pip
3 install rarfile
rarfileライブラリをインストールする(ストレス解消、圧縮という方法はサポートされていませんので注意してください。)
#coding=utf-8
import rarfile
path = "E:\\New\\New.rar"
path2 = "E:\\New"
rf = rarfile.RarFile(path) #
rf.extractall(path2) #
締め括りをつける以上は小编が皆さんに绍介したpython圧縮袋を解凍する5つの方法です。皆さんに何かお聞きしたいことがあれば、メッセージをください。小编はすぐにご返事します。ここでも私たちのサイトを応援してくれてありがとうございます。
本文があなたのためになると思ったら、転載を歓迎します。出所を明記してください。ありがとうございます。