gz: 即gzip。通常僅僅能壓縮乙個檔案。與tar結合起來就能夠實現先打包,再壓縮。
tar: linux系統下的打包工具。僅僅打包。不壓縮
tgz:即tar.gz。先用tar打包,然後再用gz壓縮得到的檔案
zip: 不同於gzip。儘管使用相似的演算法,能夠打包壓縮多個檔案。只是分別壓縮檔案。
rar:打包壓縮檔案。最初用於dos,基於window作業系統。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import gzip
def un_gz(file_name):
# 獲取檔案的名稱,去掉字尾名
f_name = file_name.replace(".gz", "")
# 開始解壓
g_file = gzip.gzipfile(file_name)
#讀取解壓後的檔案,並寫入去掉字尾名的同名檔案(即得到解壓後的檔案)
open(f_name, "wb+").write(g_file.read())
g_file.close()
import tarfile
tar = tarfile.open( '*.tar.gz', mode = "r:gz") #"r:gz"表示 open for reading with gzip compression
tar.extractall(path='temp') ### 將tar.gz檔案解壓到temp資料夾下
基本格式:zipfile.zipfile(filename[,mode[,compression[,allowzip64]]])
mode:可選 r,w,a 代表不同的開啟檔案的方式;r 唯讀;w 重寫;a 新增
compression:指出這個 zipfile 用什麼壓縮方法,預設是 zip_stored,另一種選擇是 zip_deflated;
allowzip64:bool型變數,當設定為true時可以建立大於 2g 的 zip 檔案,預設值 true;
zip_file = zipfile.zipfile(path)
zip_list = zip_file.namelist() # 得到壓縮包裡所有檔案
for f in zip_list:
zip_file.extract(f, folder_abs) # 迴圈解壓檔案到指定目錄
zip_file.close() # 關閉檔案,必須有,釋放記憶體
rar=rarfile.rarfile(filename, mode='r') # mode的值只能為'r'
# 判斷同名資料夾是否存在,若不存在則建立同名資料夾
if os.path.isdir(os.path.splitext(filename)[0]):
rf_list = rf.namelist() # 得到壓縮包裡所有的檔案
print('rar檔案內容', rf_list)
else:
os.mkdir(os.path.splitext(filename)[0])
rar.extractall(os.path.splitext(filename)[0]) # 解壓檔案
rar.close() # 關閉檔案,必須有,釋放記憶體
windows下rar解壓操作:
安裝python包unrar
pip install unrar
windows下先進入python安裝目錄下的scripts: 例如「d:python27scripts」
然後同樣執行: pip install unrar
linux中開啟大檔案的問題 大於4G
前段時間寫乙個程式時遇到了開啟乙個大於4g的檔案的問題,我開始是用標準c函式fopen來開啟,在windows下跑沒有問題,但是移植到linux下時,卻出現開啟檔案錯誤,測試發現開啟小檔案沒有問題,這可能跟系統的處理有關,仔細一想,linux下不可能不支援大檔案啊,應該有別的介面,所以上網查了一下,...
Linux 下 C語言大檔案讀寫 大於4G)
以下的做法整理自論壇上的帖子。如何create大檔案 要大就非常大,1t吧。有兩種方法 一.dd dd if dev zero of 1t.img bs 1g seek 1024 count 0 bs 1g表示每一次讀寫1g資料,count 0表示讀寫0次,seek 1024表示略過1024個blo...
Oracle日誌檔案達到4G
解決方案一 停止 1 lsnrctl進入互動模式 cmd 輸入 lsnrctl 2 執行set current listener listener 3 set log status off 4 stop 停止 5 手工刪除adr指定的監聽日誌路徑下的listener.log檔案 6 start重啟 ...