Python 常見os.path工具
內嵌的os.path模塊提供了一整套目錄處理相關工具,比如它提供的可移植函數可以用來檢查文件類型(isdir,isfile等)、測試文件是否存在(exists),以及通過文件名來獲取文件的大小(getsize):
>>> import os
>>> os.path.isdir(r'C:\Users')
True
>>> os.path.isfile(r'C:\Users')
False
>>> os.path.exists(r'c:Users\Default')
True
>>> os.path.getsize(r'C:\Python27\Lib\Bastion.py ')
Advertisements
5744
>>>
Os.path.isdir和os.path.isfile調用可以告訴我們文件名是目錄還是一個簡單的文件,如果文件不存在,二者都會返回False。還有用於分割和合併目錄路徑字元串的函數,os.paht.split將文件名從它目錄路徑中剝離開來,os.path.join則將它們合併起來。而這兩種字元串的split和join方法幾乎可起到與os.seq相同的作用。
>>> os.sep
'\\'
>>> pathname = r'C:\Python27\Lib\json'
>>> os.path.split(pathname)
Advertisements
('C:\\Python27\\Lib', 'json')
>>> pathname.split(os.sep)
['C:', 'Python27', 'Lib', 'json']
>>> os.sep.join(pathname.split(os.sep))
'C:\\Python27\\Lib\\json'
>>> os.path.join(*pathname.split(os.sep))
'C:Python27\\Lib\\json'
>>>
這個模塊中還有abspath調用,它能可移植地返迴文件的完整目錄路徑名。它負責將目前添加為前綴以及處理...父目錄句法等:
>>> os.getcwd()
'C:\\Python27'
>>> os.chdir(r'C:\Users')
>>> os.getcwd()
'C:\\Users'
>>> os.path.abspath('')
'C:\\Users'
>>> os.path.abspath('temp')
'C:\\Users\\temp'
>>> os.path.abspath('.')
'C:\\Users'
>>> os.path.abspath('..')
'C:\\'
>>> os.path.abspath(r'..\examples')
'C:\\examples'
>>>
在給出完整路徑之前,文件名採用基於當前工作目錄的相對路徑,因此如果你像了解用戶展示文件真正存儲於那個目錄下,就可以用os.paht.abspath函數來幫忙。