内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Python3學(xué)習(xí)筆記:目錄&文件處理-創(chuàng)新互聯(lián)

路徑

創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、雙城網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為雙城等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

路徑,用于定位目錄或文件的字符串。

相對(duì)路徑

相對(duì)路徑依賴于當(dāng)前工作目錄(即當(dāng)前文件所在的目錄),可以使用如下函數(shù)獲取當(dāng)前工作目錄,

1
os.getcwd()
復(fù)制
在當(dāng)前工作目錄中,可以使用相對(duì)路徑訪問(wèn)這個(gè)目錄中的所有子目錄和其中的文件,而無(wú)需使用完整路徑。

絕對(duì)路徑

指一個(gè)目錄或文件的實(shí)際路徑,如 D:\Code\Python-Study-Notes\exercise\try_except_demo.py,這就是一個(gè)絕對(duì)路徑,無(wú)論當(dāng)前在哪個(gè)目錄中,只要使用這個(gè)路徑,就會(huì)訪問(wèn) try_except_demo.py 文件。

可以使用如下函數(shù)獲取目錄或文件的絕對(duì)路徑,

1
os.path.abspath(path)
復(fù)制
其中,參數(shù) path 是一個(gè)相對(duì)路徑,可以是目錄,也可以是文件。

路徑處理

判斷指定的目錄或文件是否存在
1
os.path.exists(path)
復(fù)制
存在則返回 True,反之則返回 False。

拼接目錄與目錄或文件的名字
1
os.path.join(path, name)
復(fù)制
分離文件名和其擴(kuò)展名
1
os.path.splitext(fileName)
復(fù)制
從一個(gè)路徑中提取最后的目錄名或文件名
1
os.path.basename(path)
復(fù)制
從一個(gè)路徑中提取最后一個(gè)目錄或文件所在的目錄
1
os.path.dirname(path)
復(fù)制
判斷是否為有效路徑
1
os.path.isdir(path)
復(fù)制
目錄基本操作

目錄,即文件夾,可以存放目錄及文件。

獲取當(dāng)前系統(tǒng)類型
1
os.name
復(fù)制
其中,nt 表示 Windows;posix 表示 Linux 或 Unix 或 MacOS。

獲取當(dāng)前系統(tǒng)的換行符
1
os.linesep
復(fù)制
獲取當(dāng)前系統(tǒng)的路徑分隔符
1
os.sep
復(fù)制
獲取當(dāng)前的工作目錄的路徑
1
os.getcwd()
復(fù)制
已列表的形式返回指定路徑下的目錄和文件
1
os.listdir(path)
復(fù)制
在指定路徑下新建一個(gè)目錄
1
os.mkdir(path, mode)
復(fù)制
path 為路徑,mode 表示目錄的權(quán)限(在非 Unix 系統(tǒng)上無(wú)效)。

在指定路徑下創(chuàng)建多級(jí)目錄
1
os.makedirs(path, mode)
復(fù)制
創(chuàng)建多級(jí)目錄,即創(chuàng)建它本身及它的子目錄和子目錄的子目錄,mode 表示目錄的權(quán)限(在非 Unix 系統(tǒng)上無(wú)效)。

刪除文件
1
os.remove(path)
復(fù)制
或者,

1
os.unlink(path)
復(fù)制
該函數(shù)可以刪除指定路徑下的文件。

刪除一個(gè)非空的目錄
1
os.rmdir(path)
復(fù)制
使用 rmdir() 刪除一個(gè)目錄時(shí),該目錄下不能有任何子目錄和文件。

刪除多級(jí)空目錄
1
os.removedirs(path)
復(fù)制
刪除它本身及其中的子目錄和子目錄中的子目錄,但是這些目錄中不能有任何文件,即這些目錄必須是空的。

把 path 設(shè)置為當(dāng)前的工作目錄
1
os.chdir(path)
復(fù)制
遍歷指定路徑下的所有目錄和文件
1
os.walk(path, topdown=True, onerror, followlinks=False)
復(fù)制
該函數(shù)只在 Unix 和 Windows 系統(tǒng)中有效。

path 表示要遍歷的目錄;topdown 如果為 True 則自上而下遍歷,反之則自下而上;onerror 用于指定錯(cuò)誤處理函數(shù);followlinks 用于指定在支持的系統(tǒng)上訪問(wèn)由符號(hào)鏈接指向的目錄。

該函數(shù)返回一個(gè)元組生成器對(duì)象,其中包含三個(gè)元素:當(dāng)前遍歷的路徑,是一個(gè)字符串;該路徑下包含的目錄,是一個(gè)列表;當(dāng)前路徑下包含的文件,是一個(gè)列表。示例如下:

1
2
3
4
5
6
7
8
9
import os

root = r"D:\Code\YunYiCangQiong\00 原文稿"

for path, dirs, files in os.walk(root,followlinks=True):
for name in dirs:
print("○", os.path.join(root, name))
for name in files:
print("●", os.path.join(root, name))
復(fù)制
列出目錄下的所有內(nèi)容(子目錄和文件)
1
os.listdir(path)
復(fù)制
該函數(shù)會(huì)列出指定路徑的目錄下所有內(nèi)容,包含子目錄、文件、隱藏文件等。

文件基本操作

在 Python 中,內(nèi)置了文件(File)對(duì)象,在操作文件之間,需要使用 open() 函數(shù)打開(kāi)或創(chuàng)建一個(gè)文件,

1
file = open(fileName, mode, buffering)
復(fù)制
file 表示被創(chuàng)建的文件對(duì)象;fileName 表示要打開(kāi)或創(chuàng)建的文件名;mode 表示文件的打開(kāi)模式;buffering 表示讀寫(xiě)文件的緩存模式。

其中,mode 的參數(shù)如下:

Python 3 學(xué)習(xí)筆記:目錄&文件處理

打開(kāi)文件并對(duì)其操作完畢后,要及時(shí)關(guān)閉該文件,以免造成不必要的損壞??梢允褂?close() 函數(shù)將文件關(guān)閉,

1
file.close()
復(fù)制
為了避免忘記關(guān)閉文件而對(duì)文件造成不必要的損壞,可以使用 with 關(guān)鍵字,該語(yǔ)句可以實(shí)現(xiàn)在處理文件時(shí),無(wú)論是否出現(xiàn)錯(cuò)誤,都保證 with 語(yǔ)句結(jié)束后關(guān)閉文件。

1
2
with expression as target:
pass
復(fù)制
expression 是一個(gè)表達(dá)式,例如使用 open() 函數(shù)打開(kāi)一個(gè)文件;target 用于存放 expression 的結(jié)果。

當(dāng)需要向打開(kāi)的文件中寫(xiě)入內(nèi)容時(shí),可以使用 write() 函數(shù),

1
file.write()
復(fù)制
當(dāng)使用 write() 函數(shù)向文件中寫(xiě)入內(nèi)容后,只有在使用 close() 函數(shù)關(guān)閉文件時(shí),才會(huì)將寫(xiě)入的內(nèi)容保存;如果不想立即關(guān)閉文件,可以使用 flush() 函數(shù)保存寫(xiě)入的內(nèi)容,

1
file.flush()
復(fù)制
如果要讀取文件的內(nèi)容,可以使用 read() 函數(shù),

1
file.read(size)
復(fù)制
size 表示要讀取的字符的個(gè)數(shù),省略則表示讀取全部字符。

read() 函數(shù)是從頭開(kāi)始讀的,如果想要從指定位置開(kāi)始,則可以使用 seek() 函數(shù)移動(dòng)光標(biāo)到指定位置,

1
file.seek(offset, whence)
復(fù)制
其中,offset 表示光標(biāo)移動(dòng)的字符個(gè)數(shù);whence 指定字符個(gè)數(shù)從哪個(gè)位置開(kāi)始計(jì)算:0 表示從頭開(kāi)始;1 表示從當(dāng)前位置開(kāi)始;2 表示從結(jié)尾開(kāi)始,默認(rèn)為 0。

可以使用 readline() 函數(shù)一行行讀取,

1
file.readline()
復(fù)制
也可以使用 readlines() 函數(shù)讀取全部行,

1
file.readlines()
復(fù)制
該函數(shù)返回一個(gè)字符串列表,每個(gè)元素為文件的一行內(nèi)容。

高級(jí)操作

shutil 模塊

shutil 模塊可以復(fù)制、移動(dòng)、重命名和刪除目錄或文件。

1
shutil.copy(source, destination)
復(fù)制
該函數(shù)可以將 source 路徑下的文件,復(fù)制到 destination 路徑的目錄下,如果目標(biāo)目錄中已存在同名文件,則直接替換;如果 destination 路徑中包含文件名,則將被復(fù)制的文件重命名為此名稱。

如果想要將目錄及其中的子目錄和文件,全部復(fù)制到一個(gè)新的目錄中,可以使用

1
shutil.copytree(source, destination)
復(fù)制
注意,destination 路徑下不能包含和 source 路徑中目標(biāo)文件夾的同名目錄,否則系統(tǒng)會(huì)拋出異常。

如果需要移動(dòng)目錄(包括其中的子目錄和文件)或文件,可以使用

1
shutil.move(source, destination)
復(fù)制
如果目標(biāo)文件夾中已經(jīng)包含同名目錄或者文件,則會(huì)拋出異常。

os 模塊中的 rmdir() 和 removedirs() 都只能刪除一個(gè)非空的目錄,如果想刪除一個(gè)目錄及其中的子目錄和文件,可以使用,

1
shutil.rmtree(path)
復(fù)制
該函數(shù)可以刪除指定的目錄及其中所有內(nèi)容(子目錄及文件)。

send2trash 模塊

使用 shutil 模塊中的函數(shù)刪除目錄即文件是不可恢復(fù)的,為了保險(xiǎn)起見(jiàn),可以使用第三方庫(kù) send2trash 中的函數(shù)做刪除動(dòng)作,它不會(huì)完全刪除目錄或文件,而是將它們放入回收站中,以供反悔。因?yàn)樗且粋€(gè)第三方模塊,所以使用之前需要使用 pip 工具安裝它,并使用 import 語(yǔ)句導(dǎo)入。

1
send2trash.send2trash(path)
復(fù)制
zipfile 模塊

讀取 .zip 文件

該模塊可以將多個(gè)目錄或文件做成一個(gè) ZIP 壓縮包,當(dāng)然也可以解壓壓縮包。

和 File 文件對(duì)象一樣,要讀取 ZIP 文件的內(nèi)容,首先需要?jiǎng)?chuàng)建一個(gè) ZipFile 對(duì)象,

1
zipfile.ZipFile(path)
復(fù)制
該函數(shù)返回一個(gè) ZipFile 對(duì)象;path 表示一個(gè) .zip 格式的壓縮包。

然后,可以使用 namelist() 函數(shù)獲取壓縮包中的文件列表,

1
ZipFile.namelist()
復(fù)制
該函數(shù)返回一個(gè)以壓縮包中的文件名作為元素的列表。

可以使用 getinfo() 函數(shù)獲取文件列表中文件的信息,

1
ZipFile.getinfo(ZipFile.namelist()[index])
復(fù)制
該函數(shù)需要一個(gè)壓縮包中的文件作為參數(shù),返回一個(gè) ZipInfo 對(duì)象,該對(duì)象具有許多可以獲取文件信息的屬性,如 filename、date_time、file_size 等。

解壓 .zip 文件

通過(guò) ZipFile 對(duì)象的 extractall() 方法可以對(duì)壓縮包進(jìn)行解壓,

1
ZipFile.extractall(path)
復(fù)制
path 可選參數(shù),用于指定解壓后的存放路徑;如果不指定,則解壓中當(dāng)前路徑下。

創(chuàng)建 .zip 壓縮包

創(chuàng)建壓縮包,首先需要使用 ZipFile() 方法新建一個(gè)空的壓縮包,然后使用 write() 方法將文件添加到壓縮包中,

1
zipfile.ZipFile(name, mode).write(fileName, compress_type=zipfile.ZIP_DEFLATED)
復(fù)制
name 用于指定壓縮包的名稱;mode 用于指定壓縮包的打開(kāi)模式;fileName 用于指定要放入壓縮包中的文件;compress_type 用于指定壓縮算法,一般都是 ZIP_DEFLATED,該算法都大部分類型的文件都有效。

其中,mode 的值可以參考文件基本操作中的值。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.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)站標(biāo)題:Python3學(xué)習(xí)筆記:目錄&文件處理-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)路徑:http://www.rwnh.cn/article40/ccsdho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、用戶體驗(yàn)、商城網(wǎng)站網(wǎng)站內(nèi)鏈、云服務(wù)器面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
巴中市| 浦城县| 德安县| 遵义县| 肃宁县| 甘孜县| 乳源| 郁南县| 连云港市| 都安| 乌兰县| 宁陵县| 连平县| 林西县| 都匀市| 伊吾县| 尖扎县| 汶上县| 宝坻区| 郯城县| 新宾| 望都县| 万安县| 图片| 南和县| 济宁市| 土默特左旗| 旬邑县| 墨玉县| 江阴市| 田阳县| 宽甸| 南京市| 清水县| 都匀市| 蓬溪县| 盈江县| 郴州市| 通化市| 布尔津县| 巴彦淖尔市|