python之高级的文件操作shutil模块
shutil
--High-level file operations 高級(jí)的文件操作模塊os模塊提供了對(duì)目錄或者文件的新建/刪除/查看文件屬性,還提供了對(duì)文件以及目錄的路徑操作。比如說(shuō):絕對(duì)路徑,父目錄…… 但是,os文件的操作還應(yīng)該包含移動(dòng) 復(fù)制 打包 壓縮 解壓等操作,這些os模塊都沒(méi)有提供。
而本章所講的shutil則就是對(duì)os中文件操作的補(bǔ)充。–移動(dòng) 復(fù)制 打包 壓縮 解壓
shutil 功能:
1 shutil.copyfileobj(fsrc,fds+[,length=16*1024]) #copy文件內(nèi)容到另一個(gè)文件,可以copy指定大小的內(nèi)容
''' 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' import shutil f1=open('1.txt','r') f2=open('1_copy.txt','w+') shutil.copyfileobj(f1,f2,length=16*1024)2 shutil.copyfile(src,dst) #copy文件內(nèi)容,是不是感覺(jué)上面的文件復(fù)制很麻煩?還需要自己手動(dòng)用open函數(shù)打開(kāi)文件,在這里就不需要了,事實(shí)上,copyfile調(diào)用了copyfileobj
import shutil shutil.copyfile('1.txt','1_copy_file.txt')3 shutil.copymode(src,dst) #僅copy權(quán)限,不更改文件內(nèi)容,組和用戶。
準(zhǔn)備2個(gè)文件
-rwxr-xr-x 1 python python 66 4月 24 11:50 1.txt #權(quán)限是755-rwx-w--w- 1 python python 0 4月 24 11:50 2.txt #權(quán)限是722 import shutil shutil.copymode('1.txt','2.txt')運(yùn)行結(jié)果后:
-rwxr-xr-x 1 python python 66 4月 24 11:50 1.txt #權(quán)限是755 -rwxr-xr-x 1 python python 0 4月 24 11:50 2.txt #權(quán)限是755注意:是根據(jù)第一個(gè)文件的權(quán)限來(lái)同步第二個(gè)文件權(quán)限,并且不支持三個(gè)參數(shù),例如:shutil.copymode(‘1.txt’,‘2.txt’,‘3.txt’)
4 shutil.copystat(src,dst) #復(fù)制所有的狀態(tài)信息,包括權(quán)限,組,用戶,時(shí)間等
總結(jié)
以上是生活随笔為你收集整理的python之高级的文件操作shutil模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python中@staticmethod
- 下一篇: 3分钟教你用python制作一个简单词云