python文件路徑函數(shù) python文件路徑獲取

自學(xué)Python:查看文件夾及子目錄所有文件路徑

使用路徑對象glob()函數(shù)和rglob()函數(shù),可以查看指定路徑下的文件和子文件夾,兩者的區(qū)別在于,glob()函數(shù)只進(jìn)行一級查找,而rglob()函數(shù)會進(jìn)行多級查找。

創(chuàng)新互聯(lián)專注于谷城企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站制作。谷城網(wǎng)站建設(shè)公司,為谷城等地區(qū)提供建站服務(wù)。全流程按需求定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

from pathlib import Path

p = Path('d:\\文件夾\\')

r = p.glob('*')

for i in r:

print(i) #顯示glob()函數(shù)的結(jié)果

print('-' * 25) #這里是分割線

r = p.rglob('*')

for i in r:

print(i)#顯示rglob()函數(shù)的結(jié)果

查看對應(yīng)結(jié)果如下:

d:\11\11.txt

d:\11\r.mp3

d:\11\t.mp3

d:\11\tp1000

d:\11\文件夾

-------------------------

d:\11\11.txt

d:\11\r.mp3

d:\11\t.mp3

d:\11\tp1000

d:\11\文件夾

d:\11\文件夾\文檔.txt

________________END______________

Python其實(shí)很簡單 第十六章 目錄管理

為實(shí)現(xiàn)“按名存取”,必須建立文件名與輔存空間中物理地址的對應(yīng)關(guān)系,體現(xiàn)這種對應(yīng)關(guān)系的數(shù)據(jù)結(jié)構(gòu)稱為文件目錄。文件目錄表目至少要包含文件名、文件的類型、文件的長度、訪問權(quán)限、建立時(shí)間、訪問時(shí)間和文件存儲地址等內(nèi)容。通過前面一章的介紹,我們已經(jīng)知道在文件信息中已經(jīng)包含了文件名、文件類型訪問權(quán)限等信息,而存儲地址的信息則包含在目錄信息中。

16.1路徑

路徑通常用一個(gè)字符串來表示,可以按照路徑信息定位到一個(gè)目錄或文件。如:“C:UsersAdministratorPictures1.jpg”這個(gè)信息可以非常方便的找到這個(gè)圖片文件,“C:UsersAdministratorPictures”這個(gè)信息可以幫助我們找到更多的圖片文件。

這里所說的“路徑”和上網(wǎng)時(shí)碰到的“地址”含義比較相似,互聯(lián)網(wǎng)就相當(dāng)于將個(gè)人電腦可以訪問的范圍擴(kuò)大了,互聯(lián)網(wǎng)中的地址也是對應(yīng)某一個(gè)存儲空間的路徑,按照地址可以訪問互聯(lián)網(wǎng)上的信息,就如同按照路徑可以找到計(jì)算機(jī)中的文件一樣。

在Python中,可以導(dǎo)入 os模塊 來進(jìn)行目錄操作。

1、獲取當(dāng)前工作目錄getcwd()函數(shù)

例:

import os

print(os.getcwd())

運(yùn)行結(jié)果:

C:UsersAdministratorAppDataLocalProgramsPythonPython38

這個(gè)路徑是當(dāng)前Python IDLE所在的地址。

2、獲取文件的絕對路徑abspath()函數(shù)

abspath()函數(shù)是os模塊的子模塊path提供的一個(gè)函數(shù)。用法舉例如下:

import os

print(os.path.abspath(r'test.txt'))

運(yùn)行結(jié)果:

C:UsersAdministratorAppDataLocalProgramsPythonPython38 est.txt

16.2 目錄操作類函數(shù)

1、判斷目錄是否存在exists()函數(shù)

exists()函數(shù)是os模塊的子模塊path中的函數(shù)。使用方法舉例如下:

import os

print(os.path.exists(r'C:UsersAdministratorPictures1.jpeg'))

輸出結(jié)果:

True

2、創(chuàng)建目錄mkdir()函數(shù)和makedirs()函數(shù)

mkdir()函數(shù)和makedirs()函數(shù)都是由os模塊提供的,下面舉例說明用法和區(qū)別。

例1:

import os

path='d:test'

if not os.path.exists(path):

os.makedirs(path)

print('該文件目錄創(chuàng)建成功!')

如果目錄d: est已存在,則不再創(chuàng)建;若不存在,則創(chuàng)建。

例2:

import os

path='d:testtest1test11'

if not os.path.exists(path):

os.makedirs(path)

print('該文件目錄創(chuàng)建成功!')

雖然目錄d: est已存在,但可以在其下繼續(xù)創(chuàng)建子目錄。上面的代碼可以成功地創(chuàng)建d: est est1 est11目錄。

mkdir()函數(shù)和makedirs()函數(shù)用法基本一樣,不同之處在于mkdir()函數(shù)只能能創(chuàng)建一級目錄。

3、刪除目錄函數(shù)rmdir()函數(shù)

rmdir()函數(shù)是由os模塊提供的。

例如:通過上面的例子已經(jīng)建立了d: est est1 est11目錄,現(xiàn)在去刪除子目錄test11(此子目錄為空目錄),代碼如下:

import os

os.rmdir('d:testtest1test11')

如果要?jiǎng)h除的目錄非空(其下還包含有文件或文件夾),則不能刪除,并且出現(xiàn)Windows文件操作錯(cuò)誤的提示(Python是調(diào)用操作系統(tǒng)命令完成文件和目錄操作的)。譬如d: est目錄下含有有子目錄,則不能對其進(jìn)行如下刪除操作。

import os

os.rmdir('d:test')

此時(shí),會出現(xiàn)如下錯(cuò)誤提示:

Traceback (most recent call last):

File "C:/Users/zym/AppData/Local/Programs/Python/Python39/4.py", line 10, in

os.rmdir('d:test')

OSError: [WinError 145] 目錄不是空的。: 'd:test'

4、刪除非空目錄函數(shù)rmtree()函數(shù)

rmtree()函數(shù)是由Python內(nèi)置的標(biāo)準(zhǔn)模塊shutil提供的,可以刪除目錄及目錄下的文件和子目錄。如刪除d: est目錄及其下的子目錄和文件,可用如下代碼:

import shutil

shutil.rmtree('d:test')

5、遍歷目錄walk()函數(shù)

walk()函數(shù)是由os模塊提供的。

語法格式:

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

其中,top是所要遍歷的目錄的地址;topdown為可選參數(shù),為 True時(shí)自上而下遍歷 目錄,為False時(shí)自下而上遍歷目錄,默認(rèn)值為True;onerror為可選參數(shù),用于指定異常處理方式,默認(rèn)為忽略;followlinks為可選參數(shù),如果為 True,則會遍歷目錄下的快捷方式(linux 下是軟連接 symbolic link )實(shí)際所指的目錄(默認(rèn)關(guān)閉),如果為 False,則優(yōu)先遍歷 top 的子目錄。

該函數(shù)的返回值為一個(gè)三元組(root,dirs,files)。root 所指的是當(dāng)前正在遍歷的這個(gè)文件夾的本身的地址;dirs 是一個(gè) list ,內(nèi)容是該文件夾中所有的目錄的名字(不包括子目錄);files 同樣是 list , 內(nèi)容是該文件夾中所有的文件(不包括子目錄)。

例:遍歷d: est目錄及其子目錄下的所有子目錄和文件:

d: est目錄及其下的子目錄和文件

import os

path='d:test'

tups=os.walk(path) # 函數(shù)walk()的返回值為三元組

for root,dirs,files in tups: # 遍歷這個(gè)三元組

for name in dirs: #遍歷存放目錄值的元組

print('dir:',os.path.join(root,name))

for name in files: #遍歷存放文件名值的元組

print('file:',os.path.join(root,name))

運(yùn)行結(jié)果如下:

dir: d: est est1

dir: d: est est1 est11

dir: d: est est1新建文件夾

file: d: est est1新建文本文檔.txt

file: d: est est1 est11新建文本文檔.txt

Python3 & 如何在Python中寫文件路徑

Python中文件路徑共分為兩種:絕對路徑和相對路徑

1、絕對路徑就是文件的真正存在的路徑,是指從硬盤的根目錄(盤符)開始,進(jìn)行一級級目錄指向文件。

2、 相對路徑是以當(dāng)前文件為基準(zhǔn)進(jìn)行一級級目錄指向被引用的資源文件。

其中大小寫不影響windows定位到文件

python 文件路徑書寫方式有兩種:

方法一:使用轉(zhuǎn)義字符

filePath = 'E:\Temp\test'

方法二:使用r聲明字符串

filePath = r'E:\Temp\test'

上述寫法中"\ “為字符串中的特殊字符,加上r后變?yōu)樵甲址瑒t不會對字符串中的”\t"、"\r" 進(jìn)行字符串轉(zhuǎn)義。

文章標(biāo)題:python文件路徑函數(shù) python文件路徑獲取
網(wǎng)頁鏈接:http://m.kartarina.com/article22/hgsicc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作做網(wǎng)站App設(shè)計(jì)網(wǎng)站策劃網(wǎng)站內(nèi)鏈

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)
主站蜘蛛池模板: 东京无码熟妇人妻AV在线网址| 亚洲色av性色在线观无码| 无码国产激情在线观看| 无码福利一区二区三区| 黑人巨大无码中文字幕无码 | 无码人妻一区二区三区av| 亚洲AV无码一区二区三区鸳鸯影院| 无码国内精品久久人妻麻豆按摩 | 久久精品无码一区二区三区免费| 久久精品无码一区二区三区日韩| 免费A级毛片av无码| 亚洲AV中文无码乱人伦在线视色| 亚洲AV成人无码久久精品老人| 97无码免费人妻超级碰碰夜夜| 亚洲AV无码成人网站久久精品大 | 无码狠狠躁久久久久久久| 国产亚洲情侣一区二区无码AV| 久久久久久亚洲AV无码专区| 一本之道高清无码视频| 亚洲欧洲无码一区二区三区| 野花在线无码视频在线播放| 精品久久久久久无码中文野结衣| 久久av无码专区亚洲av桃花岛| 亚洲精品无码成人片久久| 无码AⅤ精品一区二区三区| 无码人妻精品一区二区三区蜜桃 | 亚洲中文字幕无码久久2017| 久久久久久久久免费看无码| 无码aⅴ精品一区二区三区浪潮| 国产乱子伦精品无码专区 | 国产成人无码A区在线观看视频 | 色综合久久无码中文字幕| 久久激情亚洲精品无码?V| 精品一区二区三区无码免费直播| 亚洲成a人无码亚洲成www牛牛| 亚洲AV永久纯肉无码精品动漫| 国内精品无码一区二区三区| aⅴ一区二区三区无卡无码| 影音先锋无码a∨男人资源站| 欧洲精品无码成人久久久| 国产精品无码久久综合网|