shutil
是一種高層次的文件操作工具
類似于高級API后众,而且主要強(qiáng)大之處在于其對文件的復(fù)制與刪除操作更是比較支持好。
使用方法
copyfile( src, dst) 從源src復(fù)制到dst中去掠廓。當(dāng)然前提是目標(biāo)地址是具備可寫權(quán)限。拋出的異常信息為IOException. 如果當(dāng)前的dst已存在的話就會(huì)被覆蓋掉
copymode( src, dst) 只是會(huì)復(fù)制其權(quán)限其他的東西是不會(huì)被復(fù)制的
copystat( src, dst) 復(fù)制權(quán)限掂墓、最后訪問時(shí)間护戳、最后修改時(shí)間
copy( src, dst) 復(fù)制一個(gè)文件到一個(gè)文件或一個(gè)目錄
copy2( src, dst) 在copy上的基礎(chǔ)上再復(fù)制文件最后訪問時(shí)間與修改時(shí)間也復(fù)制過來了首懈,類似于cp –p的東西
copy2( src, dst) 如果兩個(gè)位置的文件系統(tǒng)是一樣的話相當(dāng)于是rename操作绊率,只是改名;如果是不在相同的文件系統(tǒng)的話就是做move操作
copytree(olddir,newdir,True/Flase) 把olddir拷貝一份newdir究履,如果第3個(gè)參數(shù)是True滤否,則復(fù)制目錄時(shí)將保持文件夾下的符號連接,如果第3個(gè)參數(shù)是False最仑,則將在復(fù)制的目錄下生成物理副本來替代符號連接
shutil.copyfileobj(fsrc, fdst[, length])
將文件內(nèi)容拷貝到另一個(gè)文件中
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = 'junxi'
import shutil
# 將文件內(nèi)容拷貝到另一個(gè)文件中
shutil.copyfileobj(open('old.txt', 'r'), open('new.txt', 'w'))
# 拷貝文件
shutil.copyfile('old.txt', 'old1.txt')
# 僅拷貝權(quán)限藐俺。內(nèi)容、組泥彤、用戶均不變
shutil.copymode('old.txt', 'old1.txt')
# 復(fù)制權(quán)限欲芹、最后訪問時(shí)間、最后修改時(shí)間
shutil.copystat('old.txt', 'old1.txt')
# 復(fù)制一個(gè)文件到一個(gè)文件或一個(gè)目錄
shutil.copy('old.txt', 'old2.txt')
# 在copy上的基礎(chǔ)上再復(fù)制文件最后訪問時(shí)間與修改時(shí)間也復(fù)制過來了
shutil.copy2('old.txt', 'old2.txt')
# 把olddir拷貝一份newdir吟吝,如果第3個(gè)參數(shù)是True菱父,則復(fù)制目錄時(shí)將保持文件夾下的符號連接,如果第3個(gè)參數(shù)是False剑逃,則將在復(fù)制的目錄下生成物理副本來替代符號連接
shutil.copytree('C:/Users/xiaoxinsoso/Desktop/aaa', 'C:/Users/xiaoxinsoso/Desktop/bbb')
# 移動(dòng)目錄或文件
shutil.move('C:/Users/xiaoxinsoso/Desktop/aaa', 'C:/Users/xiaoxinsoso/Desktop/bbb') # 把a(bǔ)aa目錄移動(dòng)到bbb目錄下
# 刪除一個(gè)目錄
shutil.rmtree('C:/Users/xiaoxinsoso/Desktop/bbb') # 刪除bbb目錄