簡(jiǎn)單了解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)容
import shutilf1=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 shutilshutil.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 shutilshutil.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í)間等
文以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. .NET 中配置從xml轉(zhuǎn)向json方法示例詳解2. ASP錯(cuò)誤捕獲的幾種常規(guī)處理方式3. 詳解php如何合并身份證正反面圖片為一張圖片4. Laravel中數(shù)據(jù)庫(kù)遷移操作的示例詳解5. 用Python遠(yuǎn)程登陸服務(wù)器的步驟6. npm下載慢或下載失敗問(wèn)題解決的三種方法7. python 用遞歸實(shí)現(xiàn)通用爬蟲(chóng)解析器8. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法9. ASP編碼必備的8條原則10. python基于opencv批量生成驗(yàn)證碼的示例
