5.11 文件路徑名的操作

2018-02-24 15:26 更新

問題

你需要使用路徑名來獲取文件名,目錄名,絕對路徑等等。

解決方案

使用 os.path 模塊中的函數(shù)來操作路徑名。下面是一個交互式例子來演示一些關(guān)鍵的特性:

>>> import os
>>> path = '/Users/beazley/Data/data.csv'

>>> # Get the last component of the path
>>> os.path.basename(path)
'data.csv'

>>> # Get the directory name
>>> os.path.dirname(path)
'/Users/beazley/Data'

>>> # Join path components together
>>> os.path.join('tmp', 'data', os.path.basename(path))
'tmp/data/data.csv'

>>> # Expand the user's home directory
>>> path = '~/Data/data.csv'
>>> os.path.expanduser(path)
'/Users/beazley/Data/data.csv'

>>> # Split the file extension
>>> os.path.splitext(path)
('~/Data/data', '.csv')
>>>

討論

對于任何的文件名的操作,你都應(yīng)該使用 os.path 模塊,而不是使用標(biāo)準(zhǔn)字符串操作來構(gòu)造自己的代碼。特別是為了可移植性考慮的時候更應(yīng)如此,因為 os.path 模塊知道Unix和Windows系統(tǒng)之間的差異并且能夠可靠地處理類似 Data/data.csvData\data.csv 這樣的文件名。其次,你真的不應(yīng)該浪費時間去重復(fù)造輪子。通常最好是直接使用已經(jīng)為你準(zhǔn)備好的功能。

要注意的是 os.path 還有更多的功能在這里并沒有列舉出來??梢圆殚喒俜轿臋n來獲取更多與文件測試,符號鏈接等相關(guān)的函數(shù)說明。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號