久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Python 中如何處理文件系統(tǒng)路徑

Python 中如何處理文件系統(tǒng)路徑

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-07 05:49:32 1699307372

1不同操作系統(tǒng)分隔符

在Windows操作系統(tǒng)中,文件路徑以倒斜杠作為文件夾之間的分隔符。但在OSX和Linux上,使用的則是正斜杠作為路徑分隔符。如果希望讓程序適配所有操作系統(tǒng),就會(huì)用到os.path.join()函數(shù)。

importos

path=os.path.join('usr','local','sbin')

print(path)

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

usr\local\sbin

如果在OSX或Linux上調(diào)用這個(gè)函數(shù),就會(huì)返回‘usr/local/sbin’。

2當(dāng)前運(yùn)行環(huán)境所在路徑與切換路徑

利用os.getcwd()函數(shù),可以獲取當(dāng)前當(dāng)前運(yùn)行環(huán)境所在路徑。而使用os.chdir()可以改變這個(gè)路徑。

current_path=os.getcwd()

print(current_path)

#切換當(dāng)前所在路徑

os.chdir('C:\ProgramFiles')

print(os.getcwd())

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

F:\python_projects\xxx\excel\file

C:\ProgramFiles

注意:如果要更改的運(yùn)行環(huán)境所在路徑不存在,就會(huì)拋出錯(cuò)誤:

os.chdir('C:\\not_exist')

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

FileNotFoundError:[WinError2]系統(tǒng)找不到指定的文件。:‘C:\not_exist’

這時(shí),可以使用os.makedirs()創(chuàng)建所有必要的中間文件夾,確保路徑存在:

not_exist_path='C:\\not_exist\\1'

try:

os.chdir(not_exist_path)

exceptFileNotFoundError:

os.makedirs(not_exist_path)

os.chdir(not_exist_path)

print(os.getcwd())

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

C:\not_exist\1

3路徑函數(shù)

3.1os.path模塊路徑函數(shù)

函數(shù)說明

os.path.abspath(path)返回path的絕對(duì)路徑。適用于將相對(duì)路徑轉(zhuǎn)換為絕對(duì)路徑。

os.path.isabs(path)如果path是絕對(duì)路徑,就返回True;否則返回False。

os.path.relpath(path,start)返回從start路徑到path的相對(duì)路徑。如果沒有提供start參數(shù),則使用當(dāng)前運(yùn)行目錄作為開始路徑。

os.path.basename(path)返回path參數(shù)中最后一個(gè)斜杠之后的所有內(nèi)容。

os.path.dirname(path)返回path參數(shù)中最后一個(gè)斜杠之前的所有內(nèi)容。

os.path.split(path)返回路徑中的目錄與名稱元組。

os.path.exists(path)是否存在path路徑。

os.path.isfile(path)path路徑存在,并且是文件。

os.path.isdir(path)path路徑存在,并且是文件夾。

3.2相對(duì)路徑與絕對(duì)路徑

os.chdir('C:\\ProgramFiles')

print(os.path.abspath('.'))

print(os.path.abspath('.\\CommonFiles'))

print(os.path.isabs('.'))

print(os.path.isabs('C:\\ProgramFiles'))

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

C:\ProgramFiles

C:\ProgramFiles\CommonFiles

False

True

因?yàn)槭紫仁褂胦s.chdir()把當(dāng)前路徑切換到了C:\\ProgramFiles,所以調(diào)用os.path.abspath()時(shí),當(dāng)前運(yùn)行所在目錄是C:\\ProgramFiles,所以“點(diǎn)”的相對(duì)路徑表示法所對(duì)應(yīng)的絕對(duì)路徑就是C:\\ProgramFiles。

3.3返回從start路徑到path的相對(duì)路徑

print(os.path.relpath('C:\\ProgramFiles','C:\\'))

print(os.path.relpath('C:\\ProgramFiles','C:\\windows\\addins\\'))

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

ProgramFiles

…\ProgramFiles

3.4獲取路徑中的目錄與名稱

path='C:\ProgramFiles\CommonFiles\Adobe\CEP\extensions\LogiOptionsAdobe\index.html'

print(os.path.basename(path))

print(os.path.dirname(path))

print(os.path.split(path))

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

index.html

C:\ProgramFiles\CommonFiles\Adobe\CEP\extensions\LogiOptionsAdobe

(‘C:\ProgramFiles\CommonFiles\Adobe\CEP\extensions\LogiOptionsAdobe’,‘index.html’)

注意:如果需要返回路徑中的每一部分的名稱列表,os.path.split(path)就不適用啦。我們可以使用split()方法來實(shí)現(xiàn):

print(path.split(os.path.sep))

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

[‘C:’,‘ProgramFiles’,‘CommonFiles’,‘Adobe’,‘CEP’,‘extensions’,‘LogiOptionsAdobe’,‘index.html’]

3.5路徑驗(yàn)證

print(os.path.exists('C:\\ProgramFiles'))

print(os.path.isdir('C:\\ProgramFiles'))

print(os.path.isfile('C:\\ProgramFiles'))

print(os.path.isfile('C:\ProgramFiles\CommonFiles\Adobe\CEP\extensions\LogiOptionsAdobe\index.html'))

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

True

True

False

True

以上內(nèi)容為大家介紹了Python中如何處理文件系統(tǒng)路徑,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
python隊(duì)列Queue

QueueQueue是python標(biāo)準(zhǔn)庫(kù)中的線程安全的隊(duì)列(FIFO)實(shí)現(xiàn),提供了一個(gè)適用于多線程編程的先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),即隊(duì)列,用來在生產(chǎn)者和消費(fèi)者線程...詳情>>

2023-11-07 08:24:21
Python和PHP的區(qū)別

從開發(fā)的角度來看,PHP是面向WEB的語言。PHP應(yīng)用程序更像是一組單獨(dú)的腳本,甚至只是一個(gè)單獨(dú)入口。而Python是多用途語言,也可以用于WEB開發(fā),...詳情>>

2023-11-07 08:02:45
Python爬蟲原理

簡(jiǎn)單來說互聯(lián)網(wǎng)是由一個(gè)個(gè)站點(diǎn)和網(wǎng)絡(luò)設(shè)備組成的大網(wǎng),我們通過瀏覽器訪問站點(diǎn),站點(diǎn)把HTML、JS、CSS代碼返回給瀏覽器,這些代碼經(jīng)過瀏覽器解析...詳情>>

2023-11-07 07:33:56
使用Cython為Python編寫更快的C擴(kuò)展

使用Python很有趣,但有時(shí),用它編寫的程序可能很慢。所有的運(yùn)行時(shí)動(dòng)態(tài)調(diào)度會(huì)帶來很大的代價(jià):有時(shí)它比用C或Rust等系統(tǒng)語言編寫的等效代碼慢10...詳情>>

2023-11-07 07:23:08
Python字符串連接

字符串是Python中常用的數(shù)據(jù)類型,在開發(fā)過程中可以對(duì)字符創(chuàng)進(jìn)行截取并與其他字符創(chuàng)進(jìn)行連接。下面小編整理了5種方法完成Python字符創(chuàng)的連接!加...詳情>>

2023-11-07 06:47:08