日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python_面向对象_zipfile和tarfile

發布時間:2023/12/10 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python_面向对象_zipfile和tarfile 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#python壓縮解壓模塊: zipfile tarfile
#--zipfile模塊
'''
  后綴為zip
'''

zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])

*ZipFile(路徑包名,模式,壓縮or打包,可選allowZip64)

  功能:創建一個ZipFile對象,表示一個zip文件.
參數:
-參數file表示文件的路徑或類文件對象(file-like object)
  -參數mode指示打開zip文件的模式,默認值為r
  r 表示讀取已經存在的zip文件
  w 表示新建一個zip文檔或覆蓋一個已經存在的zip文檔
  a 表示將數據追加到一個現存的zip文檔中。
-參數compression表示在寫zip文檔時使用的壓縮方法
  zipfile.ZIP_STORED 只是存儲模式,不會對文件進行壓縮,這個是默認值
  zipfile.ZIP_DEFLATED 對文件進行壓縮
-如果要操作的zip文件大小超過2G,應該將allowZip64設置為True。

#壓縮文件
  #1.ZipFile() 寫模式w打開或者新建壓縮文件
  #2.write(路徑,別名) 向壓縮文件中添加文件內容
  #3.close() 關閉壓縮文件

#解壓文件
  #1.ZipFile() 讀模式r打開壓縮文件
  #2.extractall(路徑) 解壓所有文件到某個路徑下
  # extract(文件,路徑) 解壓指定的某個文件到某個路徑下
  #3.close() 關閉壓縮文件

#追加文件(支持with寫法)
  ZipFile() 追加模式a打開壓縮文件

#查看壓縮包中的內容
  namelist()
"""
#處理zip中文亂碼
#方法一
  zip_file = zip_file.encode('cp437').decode('gbk')
#方法二
  zip_file = zip_file.encode('utf-8').decode('utf-8')
"""

#--tarfile模塊

"""
  后綴類型: .tar | .tar.gz | .tar.bz2
  模式有tar|gz|bz2 (bz2模式的壓縮文件較小 gz相對bz2大)
例:
  w 單純的套一個后綴 打包
  w:bz2 采用bz2算法 壓縮
"""

#壓縮文件
  #1.open('路徑包名','模式','字符編碼')創建或者打開文件
  #2.add(路徑文件,arcname="別名")向壓縮文件中添加文件
  #3,close()關閉文件


#解壓文件
  #1.open('路徑包名','模式','字符編碼')讀模式打開文件
  #2.extractall(路徑) 解壓所有文件到某個路徑下
   ?# extract(文件,路徑) 解壓指定的某個文件到某個路徑下
  #3.close() 關閉壓縮文件

#追加文件
  open() 追加模式a:打開壓縮文件 正常添加即可

#查看壓縮包中的內容
  getnames()

?

?

?

?

# zipfile模塊
# 后綴是zip


# 壓縮文件是zipfile
zp = zipfile.ZipFile("/mnt/hgfs/vm_gongxiang/star/a001.zip","w",zipfile.ZIP_DEFLATED)
zp.write("/bin/dash","dash")
zp.write("/bin/date","date")
zp.write("/bin/dd","dd")
zp.write("/bin/df","df")
zp.close()

?

# 壓縮文件
with zipfile.ZipFile("/mnt/hgfs/vm_gongxiang/star/a001.zip","r") as zp:
zp.extractall("/mnt/hgfs/vm_gongxiang/star/a001")
# zp.extract("/mnt/hgfs/vm_gongxiang/star/a001")

?

# 追加文件
with zipfile.ZipFile("/mnt/hgfs/vm_gongxiang/star/a001.zip","a",zipfile.ZIP_DEFLATED) as zp:
zp.write("/bin/dmesg","/dmesg")

?

# 查看壓縮包中的內容
with zipfile.ZipFile("/mnt/hgfs/vm_gongxiang/star/a001.zip","r") as zp:
res = zp.namelist()
print(res)

===

# tarfile模塊
"""
  后綴類型: .tar| .tar.gz | .tat.bz2
  模式有tar|gz|bz2(bz2模式的壓縮文件較小 gz相對bz2大)
例:
  w 單純的套個后綴 打包
  w:gz 采用bz2算法 壓縮
  w:bz2 采用gz算法 壓縮
"""
import tarfile


# tarfile 壓縮文件
with tarfile.open("/mnt/hgfs/mv_gongxiang/star/a001.tar.bz","w:bz",encoding="gbk") as tf:
tf.add("/bin/dash",arcname="dash")
tf.add("/bin/date",arcname="date")
tf.add("/bin/dd",arcname="dd")
tf.add("/bin/df",arcname="df")
tf.add("/mnt/hgfs/mv_gongxiang/你好.txt",arcname="你好")


# tarfile 解壓文件
with tarfile.open("/mnt/hgfs/mv_gongxiang/star/a001.tar.bz","r") as tf:
tf.extractall("/mnt/hgfs/mv_gongxiang/star/a001")
# tf.extract("/mnt/hgfs/mv_gongxiang/star/a001")

?

# tarfile 追加文件
with tarfil.open("/mnt/hgfs/mv_gongxiang/star/a001.tar.bz","a:") as tf:
tf.add("/bin/echo",arcname="echo")

?

# 查看壓縮包中內容
with tarfile.open("/mnt/hgfs/mv_gongxiang/star/a001.tar.bz","r",encoding="gbk") as tf:
res = tf.getname()
print(res)

?

?

?

轉載于:https://www.cnblogs.com/bling-bling-star/p/9409656.html

總結

以上是生活随笔為你收集整理的Python_面向对象_zipfile和tarfile的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。