溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中怎么壓縮文件

發(fā)布時(shí)間:2021-07-19 17:59:23 來源:億速云 閱讀:141 作者:Leah 欄目:編程語言

Python中怎么壓縮文件,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

可擴(kuò)充性可說是Python作為一種編程語言的特色。新的內(nèi)置模塊(module)可以用C 或 C++寫成。而我們也可為現(xiàn)成的模塊加上Python的接口。Python可以使用戶避免過分的語法的羈絆而將精力主要集中到所要實(shí)現(xiàn)的程序任務(wù)上。

Python也被稱為是一門清晰的語言。因?yàn)樗淖髡咴谠O(shè)計(jì)它的時(shí)候,總的指導(dǎo)思想是,對(duì)于一個(gè)特定的問題,只要有一種***的方法來解決就好了。這在由Tim Peters寫的python格言(稱為The Zen of Python)里面表述為:

There should be one-- and preferably only one --obvious way to do it.

有意思的是,這正好和Perl語言(另一種功能類似的高級(jí)動(dòng)態(tài)語言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。這似乎是人們常把Perl和Python互相比較的重要原因。

Python語言是一種清晰的語言的另一個(gè)意思是,它的作者有意的設(shè)計(jì)限制性很強(qiáng)的語法,使得不好的編程習(xí)慣(例如if語句的下一行不向右縮進(jìn))都不能通過編譯。這樣有意的強(qiáng)制程序員養(yǎng)成良好的編程習(xí)慣。其中很重要的一項(xiàng)就是Python的縮進(jìn)規(guī)則。

例如if語句:

if age<21: print "You cannot buy wine!\n"  print "But you can buy chewing gum.\n"  print "this is outside if\n"

一個(gè)和其他大多數(shù)語言(如C)的區(qū)別就是,一個(gè)模塊的界限,完全是由每行的首字符在這一行的位置來決定的(而C語言是用一對(duì)花括號(hào){}來明確的定出模塊的邊界的,與字符的位置毫無關(guān)系)。這一點(diǎn)曾經(jīng)引起過爭議。因?yàn)樽詮腃這類的語言誕生后,語言的語法含義與字符的排列方式分離開來,曾經(jīng)被認(rèn)為是一種程序語言的進(jìn)步。不過不可否認(rèn)的是,通過強(qiáng)制程序員們縮進(jìn)(包括if,for和函數(shù)定義等所有需要使用模塊的地方),Python確實(shí)使得程序更加清晰和美觀。

另外Python在其他部分的設(shè)計(jì)上也堅(jiān)持了清晰劃一的風(fēng)格,這使得Python稱為一門易讀性、易維護(hù)性好,并且被大量用戶所歡迎的、用途廣泛的語言。Python直接編寫的程序段有時(shí)運(yùn)行效率甚至高于用C編寫的程序。

zipfile是Python里用來做zip格式編碼的壓縮和解壓縮的module,zipfile里有兩個(gè)非常重要的class:ZipFile和ZipInfo。ZipFile是主要的類,用來創(chuàng)建和讀取zip文件而ZipInfo是存儲(chǔ)的zip文件的每個(gè)文件的信息。

在這里我需要把一個(gè)目錄壓縮,這就要將目錄里的文件一個(gè)文件一個(gè)文件的加入,然后在使用zipfile的ZipFile類的時(shí)候,再一個(gè)一個(gè)寫入壓縮文件以完成Python壓縮文件這一操作步驟。

#!/usr/bin/env Python  #coding=utf-8  import os  import zipfile  filelist = []  for root, dirs, files in os.walk("D:\\clean"):  for name in files:  filelist.append(os.path.join(root, name))  zf = zipfile.ZipFile("d:\\test.zip", "w", zipfile.zlib.DEFLATED)  for tar in filelist:  zf.write(tar)  zf.close()

看完上述內(nèi)容,你們掌握Python中怎么壓縮文件的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI