Python基礎之shutil及zipfile模塊

在Pyhton內置模塊中,os模塊提供了對目錄和文件的通常操做,shutil模塊做爲補充,提供了移動,複製,壓縮,解壓等操做,zipfile模塊提供了對zip文件格式的靈活操做,本文主要以一些簡單的小例子,簡述shutil模塊及zipfile模塊的簡單使用,僅供學習分享使用,若有不足之處,還請指正。html

什麼是shutil?

shutil模塊是python標準庫中提供的,主要用來作文件和目錄的拷貝,移動,刪除等,還能夠作文件的和目錄的壓縮,解壓等操做。python

什麼是zipfile?

Python 中 zipfile 模塊提供了對 zip 壓縮文件的一系列操做。函數

導入模塊

若是要使用shutil及zipfile進行相關的操做,首先要導入模塊,以下所示:學習

1 import shutil as su
2 import zipfile as zf

shutil簡單應用

1. 複製文件

將文件從一個目錄複製到另外一個目錄,而且複製文件時能夠改變文件名稱。spa

1 # copy文件,將文件從一個地方複製到另一個地方,若是是相對路徑,則相對代碼所在的目錄
2 su.copyfile(r'movie/gangtai/1.txt',r'movie/gangtai/1_copy.txt')

2. 複製目錄

複製目錄內容到新目錄,以下所示:code

1 # copy目錄,將目錄中的內容【不包含目錄】拷貝到新的目錄,如目標目錄不存在 ,則新增,若是存在,則報錯
2 su.copytree('movie/gangtai','電影/港臺') # 默認所有內容拷貝

3. 自定義複製目錄

複製目錄時,默認是內容所有複製,也能夠定義忽略一些文件,以下所示:orm

1 # 忽略一些格式的文件不拷貝
2 su.copytree('movie/gangtai','電影/港臺',ignore=su.ignore_patterns('*.mp3','*.html'))

4. 生成壓縮文件

1 # base_name:壓縮包的路徑和名字,format:格式 root_dir:要壓縮的文件或目錄
2 su.make_archive('movie/gt','zip','movie/gangtai')

5. 解壓文件

1 # 解壓縮 filename:壓縮包路徑 extract_dir:要解壓到的路徑
2 su.unpack_archive('movie/gt.zip',extract_dir='電影/gangtai')

zipfile簡單應用

若是須要更加靈活的進行解壓縮,能夠使用zipfile模塊進行操做。htm

1. 文件壓縮

能夠將不一樣目錄下的文件,放在一個壓縮文件中,以下所示:blog

1 # zipfile提供壓縮方式更靈活
2 z1 = zf.ZipFile(file='d:/a.zip', mode='w')
3 z1.write('movie/gangtai/1.txt')
4 z1.write('電影/港臺/1.txt')
5 z1.write('電影/港臺/1_copy.txt')
6 z1.close()

2. 文件解壓

解壓後的文件,會安裝壓縮文件的結構進行展現,以下所示:遞歸

1 # 解壓
2 z2 = zf.ZipFile(file='d:/a.zip',mode='r')
3 z2.extractall(path='d:/a')
4 z2.close()

遞歸函數

如下經過遞歸實現5的階乘,以下所示:

 1 #  遞歸求階乘
 2 def factorial(n):
 3     if n == 1:
 4         return 1
 5     else:
 6         return n * factorial(n - 1)
 7 
 8 
 9 n = 5
10 f = factorial(n)
11 print('%(n)d的階乘等於%(f)d' % {'n': n, 'f': f})

備註

行宮

【做者】元稹 【朝代】唐

寥落古行宮,宮花寂寞紅。

白頭宮女在,閒坐玄宗。

相關文章
相關標籤/搜索