標籤:
參考部落格:
http://www.cnblogs.com/vamei/archive/2012/09/05/2671198.html
http://www.cnblogs.com/baiqi/p/3951506.html
http://www.cnblogs.com/sunnyjiangjie/p/4207063.html
參考資料:Python 2.7.7 documentation
參考工具:http://translate.google.cn/
設定path = ‘/home/vamei/doc/file.txt‘
注意windos和linux下的結果可能不同
一、os.path(常見的路徑操作)
os.path.abspath(path) 返回path正常化的絕對路徑。
windos:
>>> os.path.abspath(path)
‘C:\\home\\vamei\\doc\\file.txt‘
linux:
>>> os.path.abspath(path)
‘/home/vamei/doc/file.txt‘
os.path.basename(path) 查詢路徑下包含的檔案名稱
>>> os.path.basename(path)
‘file.txt‘
os.path.commonprefix(list) 返回list中,所有path共有的最長的路徑。注意第二個例子,返回可能不是路徑。
>>> os.path.commonprefix([path,‘/home/‘,‘/home/he.txt‘])
‘/home/‘
>>> os.path.commonprefix([‘asdf1234‘,‘asdf50548‘])
‘asdf‘
os.path.dirname(path) 返迴路徑名
┏os.path.exists(path) 如果path存在返回True;如果path不存在,或者沒有執行os.stat()的許可權,或者已損壞的連結會返回False
看的其他部落格解釋,連結什麼的沒驗證過
┗os.path.lexists(path) 與os.path.exists(path)的不同是如果有損壞的連結會返回True
os.path.expanduser(path) 把path中包含的"~"和"~user"轉換成使用者目錄;看python手冊吧
os.path.expandvars(path) 根據環境變數name的值替換path中包含的$name 和${name}
os.path.getatime(path) 返回最後一次進入此path的時間。
os.path.getmtime(path) 返回此path最後一次修改的時間
os.path.getctime(path) 返回ctime,(類 Unix) time of the last change; Windows, is the creation time for path
os.path.getsize(path) 返回path大小,單位byte
os.path.isabs(path) 判斷是否絕對路徑
os.path.isfile(path) 判斷路徑是否為已存在常規檔案,注意,會先判斷存在性
os.path.isdir(path) 判斷路徑是否為已存在目錄,注意,會先判斷存在性
os.path.islink(path) 判斷路徑是否為link
os.path.ismount(path) 判斷路徑是否為掛載點
os.path.join(path1[, path2[, ...]]) 使用目錄名和檔案名稱構成一個路徑字串,自動使用分隔字元os.sep
>>> os.path.join(‘C:\\‘,‘mydoc‘,‘xxx‘,‘my.txt‘)
‘C:\\mydoc\\xxx\\my.txt‘
os.path.normcase(path) 轉換path的大小寫和斜杠
os.path.normpath(path) 規範path字串形式
os.path.realpath(path)
os.path.relpath(path[, start]) 從start開始計算相對路徑
os.path.samefile(path1, path2) 判斷目錄或檔案是否相同
os.path.sameopenfile(fp1, fp2) 判斷fp1和fp2是否指向同一檔案
os.path.samestat(stat1, stat2) 判斷stat tuple stat1和stat2是否指向同一個檔案
os.path.split(path) 把路徑分割成dirname和basename,返回一個元組
os.path.splitdrive(path) 返回磁碟機名和路徑組成的元組
>>> os.path.splitdrive(‘c:\\mydoc\\my.txt‘)
(‘c:‘, ‘\\mydoc\\my.txt‘)
os.path.splitext(path) 分割路徑,返迴路徑名和副檔名的元組
>>> os.path.splitext(path)
(‘/home/vamei/doc/file‘, ‘.txt‘)
os.path.splitunc(path) 把路徑分割為載入點與檔案
os.path.walk(path, visit, arg) 遍曆path,進入每個目錄都調用visit函數,visit函數必須有
3個參數(arg, dirname, names),dirname表示目前的目錄的目錄名,
names代表目前的目錄下的所有檔案名稱,args則為walk的第三個參數
os.path.supports_unicode_filenames 設定是否支援unicode路徑名
二、glob(Unix style pathname pattern expansion)
只支援萬用字元操作*,?,[]這三個萬用字元
glob.glob(pathname) 列出所有符合該運算式的檔案
>>> glob.glob(‘D:\Email\*‘)
[‘D:\\Email\\Archive 2013-11.pst‘, ‘D:\\Email\\outlook.ost‘, ‘D:\\Email\\~outloo
k.ost.tmp‘]
glob.iglob(pathname) 擷取一個glob.glob(pathname)的可遍曆對象
python標準庫-os.path和glob學習