<abbr id="ciwa6"><option id="ciwa6"></option></abbr>
  • <sup id="ciwa6"><kbd id="ciwa6"></kbd></sup>
    <small id="ciwa6"></small>
  • 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

    400-811-9990
    手機(jī)站
    千鋒教育

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

    千鋒教育

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

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

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

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當(dāng)前位置:成都千鋒IT培訓(xùn)  >  技術(shù)干貨  >  Python 中如何處理文件系統(tǒng)路徑

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

    來源:千鋒教育
    發(fā)布人:xqq
    時間: 2023-11-06 14:12:42

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

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

    importos

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

    print(path)

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

    usr\local\sbin

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

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

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

    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)境所在路徑不存在,就會拋出錯誤:

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

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

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

    這時,可以使用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的絕對路徑。適用于將相對路徑轉(zhuǎn)換為絕對路徑。

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

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

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

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

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

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

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

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

    3.2相對路徑與絕對路徑

    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()時,當(dāng)前運(yùn)行所在目錄是C:\\ProgramFiles,所以“點(diǎn)”的相對路徑表示法所對應(yīng)的絕對路徑就是C:\\ProgramFiles。

    3.3返回從start路徑到path的相對路徑

    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)路徑,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://www.mobiletrain.org/

    聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

    猜你喜歡LIKE

    python delattr函數(shù)如何使用?

    2023-11-10

    python time.strptime的格式化

    2023-11-10

    pythonGIL在Python多線程的應(yīng)用

    2023-11-10

    最新文章NEW

    python中pdb模塊怎么用?

    2023-11-10

    Python如何截圖保存?

    2023-11-10

    python?中缺少module怎么辦?

    2023-11-10

    相關(guān)推薦HOT

    更多>>

    快速通道 更多>>

    最新開班信息 更多>>

    網(wǎng)友熱搜 更多>>