版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第Python四大模塊文件管理介紹目錄一、os模塊1、方法大綱2、常用方法二、glob模塊1、方法大綱2、使用示例三、shutil模塊1、方法大綱2、壓縮包四、pathlib模塊1、對比圖2、路徑獲取3、文件屬性4、文件判斷5、路徑拼接6、正則匹配7、讀寫操作
一、os模塊
1、方法大綱
2、常用方法
方法描述getcwd()獲取當(dāng)前工作目錄chdir(path)將當(dāng)前的工作目錄更改為指定的路徑listdir(path=None)列出指定目錄中的文件名。如果path為None,則使用path=.。mkdir(path,mode=511,*,dir_fd=None)創(chuàng)建目錄makedirs(name,mode=511,exist_ok=False)遞歸創(chuàng)建多層目錄rename(src,dst,*,src_dir_fd=None,dst_dir_fd=None)重命名文件或目錄remove(path,*,dir_fd=None)刪除文件rmdir(path,*,dir_fd=None)刪除目錄removedirs(name)遞歸刪除目錄,從子目錄到父目錄逐層嘗試刪除,遇到目錄非空拋出異常。walk(top,topdown=True,onerror=None,followlinks=False)遍歷top路徑下的所有子目錄,返回一個包含3個元素的元組:(dirpath,dirnames,filenames)。os.curdir指代當(dāng)前目錄(.)os.pardir指代上一級目錄()os.sep路徑分割符(Windows為\,Linux為/)os.linesep行終止符(Windows為\r\n,Linux為\n)指代當(dāng)前使用的操作系統(tǒng)(Windows系統(tǒng)為nt,Linux為posix)
二、glob模塊
1、方法大綱
glob模塊也是Python標準庫中一個重要的模塊,主要用來查找符合特定規(guī)則的目錄和文件,并將搜索的到的結(jié)果返回到一個列表中。使用這個模塊最主要的原因就是,該模塊支持幾個特殊的正則通配符,用起來賊方便,這個將會在下方為大家進行詳細講解。
2、使用示例
importglob
path1=r"C:\Users\黃偉\Desktop\publish\os模塊\test_shutil_a\[0-9].png"
print(glob.glob(path1))
path2=r"C:\Users\黃偉\Desktop\publish\os模塊\test_shutil_a\[0-9a-z].*"
print(glob.glob(path2))
注意:這個函數(shù)里面還有一個參數(shù),recursive,當(dāng)其為真時,則模式**將與任何文件匹配,并且
零或更多目錄和子目錄。
三、shutil模塊
1、方法大綱
os模塊是Python標準庫中一個重要的模塊,里面提供了對目錄和文件的一般常用操作。而Python另外一個標準庫shutil模塊,它作為os模塊的補充,提供了復(fù)制、移動、刪除、壓縮、解壓等操作,這些os模塊中一般是沒有提供的。但是需要注意的是:shutil模塊對壓縮包的處理是調(diào)用ZipFile和TarFile這兩個模塊來進行的。
2、壓縮包
對壓縮包管理是使用zipfile模塊
importzipfile
importos
file_list=os.listdir(os.getcwd())#獲取當(dāng)前目錄
#將上述所有文件,進行打包,使用“w”
withzipfile.ZipFile(r"我創(chuàng)建的壓縮包.zip","w")aszipobj:#對文件進行壓縮
forfileinfile_list:
zipobj.write(file)#將文件寫入壓縮包中
四、pathlib模塊
1、對比圖
操作osandos.pathpathlib絕對路徑os.path.abspathPath.resolve修改權(quán)限os.chmodPath.chmod創(chuàng)建目錄os.mkdirPath.mkdir重命名os.renamePath.rename移動os.replacePath.replace刪除目錄os.rmdirPath.rmdir刪除文件os.remove,os.unlinkPath.unlink工作目錄os.getcwdPath.cwd是否存在os.path.existsPath.exists用戶目錄os.path.expanduserPath.expanduserandPath.home是否為目錄os.path.isdirPath.is_dir是否為文件os.path.isfilePath.is_file是否為連接os.path.islinkPath.is_symlink文件屬性os.statPath.stat,Path.owner,Path.group是否為絕對路徑os.path.isabsPurePath.is_absolute路徑拼接os.path.joinPurePath.joinpath文件名os.path.basenamePureP上級目錄os.path.dirnamePurePath.parent同名文件os.path.samefilePath.samefile后綴os.path.splitextPurePath.suffix
2、路徑獲取
獲取當(dāng)前工作目錄
importpathlib
print(pathlib.Path.cwd())#雖然在這里打印出來的很像一個字符串,但實際上得到的是一個WindowsPath對象
#其實現(xiàn)了__repr__和__str__底層方法
print(pathlib.Path(__file__))#獲取當(dāng)前文件路徑
工作目錄是在哪個目錄下運行你的程序,不是項目目錄
獲取家目錄
importpathlib
print(pathlib.Path.home())#獲取當(dāng)前用戶的家目錄
獲取文件絕對路徑
frompathlibimportPath
#當(dāng)前文件路徑
p=Path(__file__)
print(p)
print(p.absolute())#將路徑轉(zhuǎn)換為絕對路徑,p.resolve()功能也是一樣的
遍歷當(dāng)前目錄
frompathlibimportPath
#當(dāng)前文件路徑
p=Path('files')
foriinp.iterdir():
print(i.absolute())
運行結(jié)果:
C:\Users\3500\PycharmProjects\untitled3\demo\files\json
C:\Users\3500\PycharmProjects\untitled3\demo\files\username.txt
C:\Users\3500\PycharmProjects\untitled3\demo\files\yaml
3、文件屬性
frompathlibimportPath
#當(dāng)前文件路徑
p=Path(__file__)
print(p.absolute())#獲取絕對路徑
print(p.resolve())#獲取絕對路徑
print()#獲取文件名稱'test.py'
print(p.stem)#只要文件名,不要后綴test
print(p.suffix)#獲取文件后綴.py
print(p.suffixes)#文件所有的后綴['.py']
print(p.parts)#拆分('C:\\','Users','3500','PycharmProjects','untitled3','demo','test.py')
print(p.parent)#獲取當(dāng)前路徑的父級目錄,C:\Users\35000\PycharmProjects\untitled3\demo
print(p.parent.parent)#C:\Users\3500\PycharmProjects\untitled3
print(p.parents)#所有的父級WindowsPath.parents
print(p.anchor)#錨,目錄前面的部分C:\或者/
4、文件判斷
frompathlibimportPath
#1.is_file()判斷是不是文件
print(Path.cwd().is_file())#False
#2.is_dir()判斷是不是文件夾
print(Path.cwd().is_dir())#True
#exists()判斷文件是否存在
p=Path('./data.json')
print(p.exists())#TrueorFalse
frompathlibimportPath
#當(dāng)前文件路徑
p=Path(__file__)#獲取當(dāng)前文件的路徑
print(p.is_absolute())#True
5、路徑拼接
frompathlibimportPath
#當(dāng)前文件路徑
p=Path('./')
print(p.absolute())#C:\Users\3500\PycharmProjects\untitled3\demo
print(p.joinpath('data.json'))#data.json
print(p.joinpath('data.json').absolute())#C:\Users\3500\PycharmProjects\untitled3\demo\data.json
#拼接多層
print(p.joinpath('files','data.json'))#files\data.json
print(p.joinpath('files','data.json').absolute())#C:\Users\3500\PycharmProjects\untitled3\demo\files\data.json
6、正則匹配
使用模式匹配(正則表達式)匹配指定的路徑。glob只會匹配當(dāng)前目錄下,rglob會遞歸所有子目錄
比如在當(dāng)前腳本的files目錄有以下文件夾和子文件
frompathlibimportPath
p=Path('files')
#glob只會遍歷查找當(dāng)前目錄
print(p.glob('*.txt'))#generatorobjectPath.globat0x000001A44565A518
print([iforiinp.glob('*.txt')])#[WindowsPath('files/username.txt')]
print([iforiinp.glob('*.yml')])#[]
#rglob只會遍歷查找當(dāng)前目錄以及其子目錄
print(p.rglob('*.txt'))#generatorobjectPath.globat0x000001A44565A518
print([iforiinp.rglob('*.txt')])#[WindowsPath('files/username.txt')]
print([iforiinp.rglob('*.yml')])#[WindowsPath('files/yaml/aa.yml'),WindowsPath('files/yaml/bb.yml')]
p_=Path('data.json')
#math檢查匹配規(guī)則
print(p_.match('*.json'))#True
7、讀寫操作
pathlib對讀取和寫入進行了簡單的封裝,不再需要重復(fù)去打開文件和管理文件的關(guān)閉了。
.read_text()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026湖北武漢市太平洋高級中學(xué)教師招聘3人備考題庫及答案詳解(易錯題)
- 2026河南鄭州新奇中學(xué)招聘備考題庫及參考答案詳解1套
- 2026西藏日喀則市亞東縣機關(guān)后勤服務(wù)中心招聘后勤服務(wù)人員1人備考題庫及參考答案詳解1套
- 2026河南許昌陶瓷職業(yè)學(xué)院人才招聘13人備考題庫及答案詳解參考
- 2026泰安肥城市事業(yè)單位初級綜合類崗位公開招聘備考題庫(73人)及答案詳解一套
- 2026重慶飛駛特人力資源管理有限公司人工智能訓(xùn)練項目招聘5人備考題庫有答案詳解
- 2026河南周口實驗高級中學(xué)(鄲城一高周口校區(qū))招聘公費師范生29人備考題庫及完整答案詳解
- 2026福建三明市殯葬服務(wù)中心招聘勞務(wù)派遣人員2人備考題庫及參考答案詳解一套
- 初一學(xué)生自我評價
- 教科版六年級上冊科學(xué)實驗題
- 深圳大疆在線測評行測題庫
- 金屬廠生產(chǎn)制度
- 2026安徽淮北市特種設(shè)備監(jiān)督檢驗中心招聘專業(yè)技術(shù)人員4人參考題庫及答案1套
- 2025年航空行業(yè)空客智能制造報告
- 蒙牛乳業(yè)股份有限公司盈利能力分析
- 2025民航西藏空管中心社會招聘14人(第1期)筆試參考題庫附帶答案詳解(3卷合一版)
- (新教材)2026年人教版八年級下冊數(shù)學(xué) 21.2.1 平行四邊形及其性質(zhì) 課件
- 設(shè)備保養(yǎng)維護規(guī)程
- 2025年東營中考物理真題及答案
- DL-T+5860-2023+電化學(xué)儲能電站可行性研究報告內(nèi)容深度規(guī)定
- GB/T 46425-2025煤矸石山生態(tài)修復(fù)技術(shù)規(guī)范
評論
0/150
提交評論