您好,登錄后才能下訂單哦!
如何在python項目中使用shutil文件操作工具?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
一:shutil. copyfileobj(fsrc,fdst [23])
將 fsrc 的內(nèi)容復(fù)制到 fdst。如果給出整數(shù)長度,則為緩沖區(qū)大小。注意,fsrc、fdst,必須是已經(jīng)打開的文件,而不能傳入文件名的字符串
def copyfileobj(fsrc, fdst, length=16*1024): """copy data from file-like object fsrc to file-like object fdst""" while 1: buf = fsrc.read(length) if not buf: break fdst.write(buf)
代碼如下:
f1 = open("111.txt", "r",encoding="utf-8") f2 = open("222.txt", "w", encoding="utf-8") shutil.copyfileobj(fsrc=f1, fdst=f2,length=15)
二:def copyfile(src, dst, *, follow_symlinks=True)
直接拷貝整個文件。
運用代碼如下:
shutil.copyfile("111.txt", "333.txt")
后面的333.txt可以不是已經(jīng)存在的,如果存在的話,則會被覆蓋掉。
三:shutil. copymode(src,dst,*,follow_symlinks=True)
只是會復(fù)制其權(quán)限其他的東西是不會被復(fù)制的
代碼運用如下:
shutil.copymode("111.txt", "333.txt")
注意,這里的111.txt 333.txt都必須是已經(jīng)存在的,表示把前者的權(quán)限復(fù)制到后者,也可以理解為給后者添加前者的權(quán)限。但不會改變后者的內(nèi)容。
四:shutil. copystat(src,dst,*,follow_symlinks=True)
和上面的copymode類似,但copystat復(fù)制權(quán)限,最后訪問 time,最后修改 time,以及從 src 到 dst 的標(biāo)志。也不會改變后者的內(nèi)容
shutil.copystat("111.txt", "333.txt")
五:shutil. copy(src,dst,*,follow_symlinks=True)
復(fù)制一個文件到一個文件或一個目錄,如果 dst 指定目錄,則使用 src 中的基本文件名將文件復(fù)制到 dst 中。返回新創(chuàng)建文件的路徑。
復(fù)制到文件和前面類似:
shutil.copy("111.txt", dst="444.txt")
復(fù)制到目錄,就是說我們可以只給第二個參數(shù)指定一個路徑,以原名字復(fù)制到指定路徑,像這樣:
shutil.copy("111.txt", dst="D:\\222.txt")
而前面的copyfile則必須再路徑后面加上命名,以給定的名字復(fù)制到指定路徑,像這樣:
shutil.copy("111.txt", dst="D:\\222.txt")
六:shutil. copy2(src,dst,*,follow_symlinks=True)
在copy上的基礎(chǔ)上再復(fù)制文件最后訪問時間與修改時間也復(fù)制過來了,類似于cp –p的東西
七:shutil. copytree(src,dst,symlinks=False,ignore=None,copyfunction=copy2,ignore_dangling_symlinks=False)
拷貝目錄,如果第3個參數(shù)是True,則復(fù)制目錄時將保持文件夾下的符號連接,如果第3個參數(shù)是False,則將在復(fù)制的目錄下生成物理副本來替代符號連接
shutil.copytree(src="11", dst="22")
注意:如果目錄不在同一路徑下,需要在前面加上絕對或相對路徑
八:shutil. rmtree(路徑,ignore_errors=False,onerror=None)
遞歸刪除一個目錄以及目錄內(nèi)的所有內(nèi)容:
代碼如下:
shutil.rmtree("E:\py project\python_ku\subprocess_demo\\11")
九:shutil. move(src,dst,copyfunction=copy2)
遞歸地將文件或目錄(src)移動到另一個位置(dst)并返回目標(biāo)
shutil.move(src="11", dst="D:\\")
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。