python文件壓縮tar
① 將當前目錄下的usr.tar.gz解壓到/tmp/mydir的命令行是什麼
指定了一下文件解壓後存放的路徑。
tar.gz和.gz文件是兩種不同的文件,需要區別對待,解壓命令當然也不同咯,下面來分享一下他們各自的解壓方法。
tar.gz文件,這種文件是tar文件的壓縮文件,可以使用tar命令進行解壓。
例如:解壓:tar zxvf pythontab.tar.gz,tar -xjvf httpd-2.4.4.tar.bz2,解壓文件到指定文件夾: tar xzvf fenci.py.tar.gz -C pythontab/
單純的.gz文件解壓,這種文件不可以使用tar命令解壓,需要用gunzip解壓,使用命令gzip。
解壓:gzip -b pythontab.gz,但是注意:gzip貌似不能夠設置解壓到指定目錄,只能解壓到當前目錄。
解壓單純的.gz文件方法二:使用zcat命令,然後把標准輸出 保存到文件即可。
例如:zcat pythontab.gz > pythontab.py當然這個解決了解壓到指定目錄的需求。
以上就是linux下.tar.gz和.gz文件解壓。
② python tar.gz怎麼安裝
tar.gz文件是在linux系統下的文件格式
.tar是把文件打成一個包,並不壓縮;
.gz是用gzip把打成包的.tar文件壓縮,所以成了一個.tar.gz的文件。
安裝的話,先解包,tar -zxvf python.tar.gz,這樣會生成一個以文件名命名的文件夾。
有的文件直接這樣解壓即可,例如tomcat、eclipse
有的文件在解壓之後的文件中 有運行的腳本文件,如:start.sh 運行即可
③ python怎樣壓縮和解壓縮ZIP文件
1、說明
python使用zipfile模塊來壓縮和解壓zip文件
2、代碼
importos,os.path
importzipfile
defzip_dir(dirname,zipfilename):
filelist=[]
ifos.path.isfile(dirname):
filelist.append(dirname)
else:
forroot,dirs,filesinos.walk(dirname):
fornameinfiles:
filelist.append(os.path.join(root,name))
zf=zipfile.ZipFile(zipfilename,"w",zipfile.zlib.DEFLATED)
fortarinfilelist:
arcname=tar[len(dirname):]
#printarcname
zf.write(tar,arcname)
zf.close()
defunzip_file(zipfilename,unziptodir):
ifnotos.path.exists(unziptodir):os.mkdir(unziptodir)
zfobj=zipfile.ZipFile(zipfilename)
fornameinzfobj.namelist():
name=name.replace('\','/')
ifname.endswith('/'):
os.mkdir(os.path.join(unziptodir,name))
else:
ext_filename=os.path.join(unziptodir,name)
ext_dir=os.path.dirname(ext_filename)
ifnotos.path.exists(ext_dir):os.mkdir(ext_dir)
outfile=open(ext_filename,'wb')
outfile.write(zfobj.read(name))
outfile.close()
if__name__=='__main__':
zip_dir(r'd:/python/test',r'd:/python/test.zip')
unzip_file(r'd:/python/test.zip',r'd:/python/test2')
執行結果
順利生成相應文件
3、備注
zip文件格式是通用的文檔壓縮標准,在zipfile模塊中,使用ZipFile類來操作zip文件,下面具體介紹一下:
class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])
創建一個ZipFile對象,表示一個zip文件。參數file表示文件的路徑或類文件對象(file-like object);參數mode指示打開zip文件的模式,默認值為'r',表示讀已經存在的zip文件,也可以為'w'或'a','w'表示新建一個zip文檔或覆蓋一個已經存在的zip文檔,'a'表示將數據附加到一個現存的zip文檔中。參數compression表示在寫zip文檔時使用的壓縮方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED。如果要操作的zip文件大小超過2G,應該將allowZip64設置為True。
ZipFile還提供了如下常用的方法和屬性:
ZipFile.getinfo(name):
獲取zip文檔內指定文件的信息。返回一個zipfile.ZipInfo對象,它包括文件的詳細信息。將在下面 具體介紹該對象。
ZipFile.infolist()
獲取zip文檔內所有文件的信息,返回一個zipfile.ZipInfo的列表。
ZipFile.namelist()
獲取zip文檔內所有文件的名稱列表。
ZipFile.extract(member[, path[, pwd]])
④ python怎樣解壓.tar.gz的文件
linux:
os.system('tar zxf %s' % filename )
window:
import tarfile
tar = tarfile.open("sample.tar.gz")
tar.extractall()
tar.close()
⑤ Linux,有一個python的tgz壓縮包,怎麼安裝
你下載的Python的源碼包:安裝如下,如果解決了你的問題記得採納啊!
1、CentOS安裝Python的依賴包
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
gdbm-devel db4-devel libpcap-devel xz-devel
2、解壓編譯安裝源碼包
tar xf Python-3.6.0a3.tgz
cd Python-3.6.0a3
./configure --prefix=/usr/local --enable-shared
make
make install
3、在運行Python之前需要配置庫:
echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf
ldconfig
4、安裝完成後如果不需要額外的依賴庫,可以刪除編譯Python時所需要的庫
yum groupremove "Development tools" --remove-leaves
yum remove zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
gdbm-devel db4-devel libpcap-devel xz-devel --remove-leaves
⑥ python 在不解壓的情況下,怎麼得知壓縮包裡面文件的大小呢
可以使用 tarfile 模塊在不解壓的情況下查看壓縮包里文件的大小,代碼如下:
#coding=utf8
importtarfile
importos
tar=tarfile.open('G:/test/abc.tar.gz','r:gz')
fortiintar:
ifti.isreg():
print(ti.name,ti.size)
⑦ 如何利用 Python 讀取數據科學中常見幾種文件
前言
如果你是數據行業的一份子,那麼你肯定會知道和不同的數據類型打交道是件多麼麻煩的事。不同數據格式、不同壓縮演算法、不同系統下的不同解析方法——很快就會讓你感到抓狂!噢!我還沒提那些非結構化數據和半結構化數據呢。
對於所有數據科學家和數據工程師來說,和不同的格式打交道都乏味透頂!但現實情況是,人們很少能得到整齊的列表數據。因此,熟悉不同的文件格式、了解處理它們時會遇到的困難以及處理某類數據時的最佳/最高效的方法,對於任何一個數據科學家(或者數據工程師)而言都必不可少。
在本篇文章中,你會了解到數據科學家或數據工程師必須知道的幾種常規格式。我會先向你介紹數據行業里常用的幾種不同的文件格式。隨後,我會向大家介紹如何在 Python 里讀取這些文件格式。
PS:在後文中提到的數據科學家,同樣也包括數據工程師以及所有的數據科學專家。
目錄
文件格式是什麼。數據科學家應當了解各種不同文件格式的原因。不同的文件格式以及從 Python 中讀取這些文件的方法。
1. 逗號分隔值
2. XLSX
3. ZIP
4. 純文本(txt)
5. JSON
6. XML
7. HTML
8. 圖像
9. 分層數據格式
10. PDF
11. DOCX
12. MP3
13. MP4
1. 文件格式是什麼。
文件格式是計算機為了存儲信息而使用的對信息的特殊編碼方式。首先,文件格式代表著文件的類型,如二進制文件或者 ASCII 文件等。其次,它體現了信息組織的方式。比如,逗號分隔值(CSV)文件格式用純文本來儲存列表數據。
為了識別一個文件的格式,你通常會去看這個文件的擴展名。比如,一個以「CSV」格式保存的名為「Data」的文件下方的文件名會顯示為「Data.csv」。看到「.csv」這個擴展名,我們就會清楚地知道這是一個「CSV」文件,並且還可以知道其中的數據是以表格的形式儲存的。
2. 數據科學家應當了解各種不同文件格式的原因。
通常,你碰到的文件類型取決於你當下構造的應用。舉個例子,在一個圖像處理系統中,你需要把圖像作為輸入和輸出。所以,你所見到的文件大都是jpeg、gif 或者 png 格式的。
作為一個數據科學家,你需要了解各種文件格式的底層結構以及相應的優勢和劣勢。只有了解了數據的底層結構,你才能夠進一步去探索它,或者決定如何來儲存相關的數據。
選擇一個最理想的文件格式來儲存數據能夠提升你的模型在處理數據時的性能。
現在,讓我們討論一下下方這些文件格式以及如何在 Python 中讀取它們:
逗號分隔值(CSV)XLSXZIP純文本(txt)JSONXMLHTML圖像分層數據格式PDFDOCXMP3MP4
3. 不同的文件格式以及從 Python 中讀取這些文件的方法。
3.1 逗號分隔值
逗號分隔值文件格式屬於電子表格文件格式的一種。
什麼是電子表格文件格式?
在電子表格文件格式中,數據被儲存在單元格里。每個單元格都處於特定的行和列中。電子表格文件中的列擁有不同的類型。比如說,它可以是字元串型的、日期型的或者整數型的。最常用的電子表格文件格式包括:逗號分隔值(CSV)、Microsoft Excel 電子表格(xls)以及 Microsoft Excel Open XML 電子表格(xlsx)。
CSV 文件中的每一行都代表一份觀察報告,或者也可以說是一條記錄。每一個記錄都包含一個或者更多由逗號分隔的欄位。
有時你看你會遇到用製表符而非逗號來分隔欄位的文件。這種文件格式被稱為 TSV(製表符分隔值)文件格式。
下面是一個用 Notepad 打開的 CSV 文件。
在Python 中從 CSV 文件里讀取數據
現在讓我們看看如何在 Python 中讀取一個 CSV 文件。你可以用 Python 中的「pandas」庫來載入數據。import pandas as pd
df = pd.read_csv(「/home/Loan_Prediction/train.csv」)
上方的代碼將會把 train.csv 文件載入進 DataFrame df 中。
3.2 XLSX文件
XLSX 是 Microsoft Excel Open XML 的文件格式,它同樣可以歸入電子表格文件格式這一類中。它是由 Microsoft Excel 開發的一種基於 XML 文件格式。Microsoft Office 2007 最先採用 XLSX 格式來儲存數據。
在XLSX 中,數據被放在工作表的單元格和列當中。每個 XLSX 文件可能包含一個或者更多工作表,所以一個工作簿中可能會包含多個工作表。
下面是一個在 Microsoft Excel 中打開的「xlsx」文件。
上圖顯示的這個文件里包含多個工作表,這些工作表的名稱分別為 Customers、Employees、Invoice 和 Order。圖片中顯示的是其中一個工作表——「Invoice」——中的數據。
從XLSX 文件讀取數據
讓我們一起來載入一下來自 XLSX 文件的數據並且定義一下相關工作表的名稱。此時,你可以用 Python 中的「pandas」庫來載入這些數據。import pandas as pd
df = pd.read_excel(「/home/Loan_Prediction/train.xlsx」,sheetname = 「Invoice」)
上方的代碼將會把來自「train.xlsx」文件的工作表「Invoice」載入進 DataFrame df 中。
3.3 ZIP 文件
ZIP 格式是一種歸檔文件格式。
什麼是歸檔文件格式?
在歸檔文件格式中,你可以創建一個包含多個文件和元數據的文件。歸檔文件格式通常用於將多個數據文件放入一個文件中的過程。這么做是為了方便對這些文件進行壓縮從而減少儲存它們所需的存儲空間。
有很多種常用的電腦數據歸檔格式可以創建歸檔文件。Zip、RAR 和 Tar 是最常用的3種用於壓縮數據的歸檔文件格式。
因此,ZIP 文件格式是一種無損壓縮格式,這意味著如果你用 ZIP 格式壓縮了多個文件,那麼在解壓縮之後你能夠完全恢復這些數據。ZIP 文件格式使用多種壓縮演算法來壓縮文件。你可以通過 .zip 這個擴展名輕易地識別出一個 ZIP 文件。
在Python 中讀取 .ZIP 文件
你可以通過導入「zipfile」包來讀取 zip 文件。下方的代碼可以實現讀取「T.zip」中的「train.csv」文件。import zipfile
在這里我已經討論了其中一種最常用的歸檔格式,也已經討論了如何在 python 中打開這種歸檔格式。我不會再對其他的歸檔格式進行展開討論。如果你想了解不同類型的歸檔格式並且想對其做出比較