真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在Python中使用shutil標(biāo)準(zhǔn)庫(kù)-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)如何在Python中使用shutil標(biāo)準(zhǔn)庫(kù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比蟠龍網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式蟠龍網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋蟠龍地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。

shutil模塊提供了許多關(guān)于文件和文件集合的高級(jí)操作,特別提供了支持文件復(fù)制和刪除的功能。

文件夾與文件操作

copyfileobj(fsrc, fdst, length=16*1024): 將fsrc文件內(nèi)容復(fù)制至fdst文件,length為fsrc每次讀取的長(zhǎng)度,用做緩沖區(qū)大小

  • fsrc: 源文件

  • fdst: 復(fù)制至fdst文件

  • length: 緩沖區(qū)大小,即fsrc每次讀取的長(zhǎng)度

import shutil
f1 = open("file.txt","r")
f2 = open("file_copy.txt","a+")
shutil.copyfileobj(f1,f2,length=1024)

copyfile(src, dst): 將src文件內(nèi)容復(fù)制至dst文件

  • src: 源文件路徑

  • dst: 復(fù)制至dst文件,若dst文件不存在,將會(huì)生成一個(gè)dst文件;若存在將會(huì)被覆蓋

  • follow_symlinks:設(shè)置為T(mén)rue時(shí),若src為軟連接,則當(dāng)成文件復(fù)制;如果設(shè)置為False,復(fù)制軟連接。默認(rèn)為T(mén)rue。Python3新增參數(shù)

import shutil
shutil.copyfile("file.txt","file_copy.txt")

copymode(src, dst): 將src文件權(quán)限復(fù)制至dst文件。文件內(nèi)容,所有者和組不受影響

  • src: 源文件路徑

  • dst: 將權(quán)限復(fù)制至dst文件,dst路徑必須是真實(shí)的路徑,并且文件必須存在,否則將會(huì)報(bào)文件找不到錯(cuò)誤

  • follow_symlinks:設(shè)置為False時(shí),src, dst皆為軟連接,可以復(fù)制軟連接權(quán)限,如果設(shè)置為T(mén)rue,則當(dāng)成普通文件復(fù)制權(quán)限。默認(rèn)為T(mén)rue。Python3新增參數(shù)

import shutil
shutil.copymode("file.txt","file_copy.txt")

copystat(src, dst): 將權(quán)限,上次訪問(wèn)時(shí)間,上次修改時(shí)間以及src的標(biāo)志復(fù)制到dst。文件內(nèi)容,所有者和組不受影響

  • src: 源文件路徑

  • dst: 將權(quán)限復(fù)制至dst文件,dst路徑必須是真實(shí)的路徑,并且文件必須存在,否則將會(huì)報(bào)文件找不到錯(cuò)誤

  • follow_symlinks:設(shè)置為False時(shí),src, dst皆為軟連接,可以復(fù)制軟連接權(quán)限、上次訪問(wèn)時(shí)間,上次修改時(shí)間以及src的標(biāo)志,如果設(shè)置為T(mén)rue,則當(dāng)成普通文件復(fù)制權(quán)限。默認(rèn)為T(mén)rue。Python3新增參數(shù)

import shutil
shutil.copystat("file.txt","file_copy.txt")

copy(src, dst): 將文件src復(fù)制至dst。dst可以是個(gè)目錄,會(huì)在該目錄下創(chuàng)建與src同名的文件,若該目錄下存在同名文件,將會(huì)報(bào)錯(cuò)提示已經(jīng)存在同名文件。權(quán)限會(huì)被一并復(fù)制。本質(zhì)是先后調(diào)用了copyfile與copymode而已

  • src:源文件路徑

  • dst:復(fù)制至dst文件夾或文件

  • follow_symlinks:設(shè)置為False時(shí),src, dst皆為軟連接,可以復(fù)制軟連接權(quán)限,如果設(shè)置為T(mén)rue,則當(dāng)成普通文件復(fù)制權(quán)限。默認(rèn)為T(mén)rue。Python3新增參數(shù)

improt shutil,os
shutil.copy("file.txt","file_copy.txt")
# 或者
shutil.copy("file.txt",os.path.join(os.getcwd(),"copy"))

copy2(src, dst): 將文件src復(fù)制至dst。dst可以是個(gè)目錄,會(huì)在該目錄下創(chuàng)建與src同名的文件,若該目錄下存在同名文件,將會(huì)報(bào)錯(cuò)提示已經(jīng)存在同名文件。權(quán)限、上次訪問(wèn)時(shí)間、上次修改時(shí)間和src的標(biāo)志會(huì)一并復(fù)制至dst。本質(zhì)是先后調(diào)用了copyfile與copystat方法而已

  • src:源文件路徑

  • dst:復(fù)制至dst文件夾或文件

  • follow_symlinks:設(shè)置為False時(shí),src, dst皆為軟連接,可以復(fù)制軟連接權(quán)限、上次訪問(wèn)時(shí)間,上次修改時(shí)間以及src的標(biāo)志,如果設(shè)置為T(mén)rue,則當(dāng)成普通文件復(fù)制權(quán)限。默認(rèn)為T(mén)rue。Python3新增參數(shù)

improt shutil,os
shutil.copy2("file.txt","file_copy.txt")
# 或者
shutil.copy2("file.txt",os.path.join(os.getcwd(),"copy"))

ignore_patterns(*patterns): 忽略模式,用于配合copytree()方法,傳遞文件將會(huì)被忽略,不會(huì)被拷貝

  • patterns:文件名稱,元組

copytree(src, dst, symlinks=False, ignore=None): 拷貝文檔樹(shù),將src文件夾里的所有內(nèi)容拷貝至dst文件夾

  • src:源文件夾

  • dst:復(fù)制至dst文件夾,該文件夾會(huì)自動(dòng)創(chuàng)建,需保證此文件夾不存在,否則將報(bào)錯(cuò)

  • symlinks:是否復(fù)制軟連接,True復(fù)制軟連接,F(xiàn)alse不復(fù)制,軟連接會(huì)被當(dāng)成文件復(fù)制過(guò)來(lái),默認(rèn)False

  • ignore:忽略模式,可傳入ignore_patterns()

  • copy_function:拷貝文件的方式,可以傳入一個(gè)可執(zhí)行的處理函數(shù),默認(rèn)為copy2,Python3新增參數(shù)

  • ignore_dangling_symlinks:sysmlinks設(shè)置為False時(shí),拷貝指向文件已刪除的軟連接時(shí),將會(huì)報(bào)錯(cuò),如果想消除這個(gè)異常,可以設(shè)置此值為T(mén)rue。默認(rèn)為False,Python3新增參數(shù)

import shutil,os
folder1 = os.path.join(os.getcwd(),"aaa")
# bbb與ccc文件夾都可以不存在,會(huì)自動(dòng)創(chuàng)建
folder2 = os.path.join(os.getcwd(),"bbb","ccc")
# 將"abc.txt","bcd.txt"忽略,不復(fù)制
shutil.copytree(folder1,folder2,ignore=shutil.ignore_patterns("abc.txt","bcd.txt")

rmtree(path, ignore_errors=False, onerror=None): 移除文檔樹(shù),將文件夾目錄刪除

  • ignore_errors:是否忽略錯(cuò)誤,默認(rèn)False

  • onerror:定義錯(cuò)誤處理函數(shù),需傳遞一個(gè)可執(zhí)行的處理函數(shù),該處理函數(shù)接收三個(gè)參數(shù):函數(shù)、路徑和excinfo

import shutil,os
folder1 = os.path.join(os.getcwd(),"aaa")
shutil.rmtree(folder1)

move(src, dst): 將src移動(dòng)至dst目錄下。若dst目錄不存在,則效果等同于src改名為dst。若dst目錄存在,將會(huì)把src文件夾的所有內(nèi)容移動(dòng)至該目錄下面

  • src:源文件夾或文件

  • dst:移動(dòng)至dst文件夾,或?qū)⑽募拿麨閐st文件。如果src為文件夾,而dst為文件將會(huì)報(bào)錯(cuò)

  • copy_function:拷貝文件的方式,可以傳入一個(gè)可執(zhí)行的處理函數(shù)。默認(rèn)為copy2,Python3新增參數(shù)

import shutil,os
# 示例一,將src文件夾移動(dòng)至dst文件夾下面,如果bbb文件夾不存在,則變成了重命名操作
folder1 = os.path.join(os.getcwd(),"aaa")
folder2 = os.path.join(os.getcwd(),"bbb")
shutil.move(folder1, folder2)
# 示例二,將src文件移動(dòng)至dst文件夾下面,如果bbb文件夾不存在,則變成了重命名操作
file1 = os.path.join(os.getcwd(),"aaa.txt")
folder2 = os.path.join(os.getcwd(),"bbb")
shutil.move(file1, folder2)
# 示例三,將src文件重命名為dst文件(dst文件存在,將會(huì)覆蓋)
file1 = os.path.join(os.getcwd(),"aaa.txt")
file2 = os.path.join(os.getcwd(),"bbb.txt")
shutil.move(file1, file2)

disk_usage(path): 獲取當(dāng)前目錄所在硬盤(pán)使用情況。Python3新增方法

  • path:文件夾或文件路徑。windows中必須是文件夾路徑,在linux中可以是文件路徑和文件夾路徑

import shutil.os
path = os.path.join(os.getcwd(),"aaa")
info = shutil.disk_usage(path)
print(info)   # usage(total=95089164288, used=7953104896, free=87136059392)

chown(path, user=None, group=None): 修改路徑指向的文件或文件夾的所有者或分組。Python3新增方法

  • path:路徑

  • user:所有者,傳遞user的值必須是真實(shí)的,否則將報(bào)錯(cuò)no such user

  • group:分組,傳遞group的值必須是真實(shí)的,否則將報(bào)錯(cuò)no such group

import shutil,os
path = os.path.join(os.getcwd(),"file.txt")
shutil.chown(path,user="root",group="root")

which(cmd, mode=os.F_OK | os.X_OK, path=None): 獲取給定的cmd命令的可執(zhí)行文件的路徑。Python3新增方法

import shutil
info = shutil.which("python3")
print(info)   # /usr/bin/python3

歸檔操作

shutil還提供了創(chuàng)建和讀取壓縮和存檔文件的高級(jí)使用程序。內(nèi)部實(shí)現(xiàn)主要依靠的是zipfile和tarfile模塊

make_archive(base_name, format, root_dir, …): 生成壓縮文件

  • base_name:壓縮文件的文件名,不允許有擴(kuò)展名,因?yàn)闀?huì)根據(jù)壓縮格式生成相應(yīng)的擴(kuò)展名

  • format:壓縮格式

  • root_dir:將制定文件夾進(jìn)行壓縮

import shutil,os
base_name = os.path.join(os.getcwd(),"aaa")
format = "zip"
root_dir = os.path.join(os.getcwd(),"aaa")
# 將會(huì)root_dir文件夾下的內(nèi)容進(jìn)行壓縮,生成一個(gè)aaa.zip文件
shutil.make_archive(base_name, format, root_dir)

get_archive_formats(): 獲取支持的壓縮文件格式。目前支持的有:tar、zip、gztar、bztar。在Python3還多支持一種格式xztar

unpack_archive(filename, extract_dir=None, format=None): 解壓操作。Python3新增方法

  • filename:文件路徑

  • extract_dir:解壓至的文件夾路徑。文件夾可以不存在,會(huì)自動(dòng)生成

  • format:解壓格式,默認(rèn)為None,會(huì)根據(jù)擴(kuò)展名自動(dòng)選擇解壓格式

import shutil,os
zip_path = os.path.join(os.getcwd(),"aaa.zip")
extract_dir = os.path.join(os.getcwd(),"aaa")
shutil.unpack_archive(zip_path, extract_dir)

get_unpack_formats(): 獲取支持的解壓文件格式。目前支持的有:tar、zip、gztar、bztar和xztar。Python3新增方法

看完上述內(nèi)容,你們對(duì)如何在Python中使用shutil標(biāo)準(zhǔn)庫(kù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝大家的支持。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


網(wǎng)站欄目:如何在Python中使用shutil標(biāo)準(zhǔn)庫(kù)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://weahome.cn/article/cocgpj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部