python中關(guān)于os.path.pardir的一些坑
關(guān)于os.path.pardir的一些坑
os.path里面,.表示當(dāng)前目錄,..表示上一級目錄(os.path.pardir就是表示這個字符串),但是當(dāng)你偷懶把os.path.abspath(__file__)寫成os.path.abspath(".")時,有時運行起來沒有問題,有時候有莫名其妙出問題,其實問題出在.并不是文件目錄,而是運行python文件時所處的工作目錄,通過pthon a/b/c.py運行時就出錯了。
同樣,如果要獲取當(dāng)前文件的上一級目錄,可以
dirpath = os.path.dirname(__file__) pdirpath = os.path.join(os.path.split(d)[0])
不能為了圖省事用os.path.abspath(os.path.pardir)
python中os.path常用模塊
1 BASE_DIR變量
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
os.path.dirname()用于返回文件所在的路徑,注意不包括文件名。
2 os.listdir()的用法
file_names = os.listdir(img_dir) ?#獲取數(shù)據(jù)集的圖片名稱組成的列表 img_names = list(filter(lambda x: x.endswith(format), file_names))
os.listdir()用于返回包含指定文件夾所包含的所有文件或者文件夾下的文件列表filter(function, iterable)用于過符合function判別為true的序列元素,python3需要手動轉(zhuǎn)為list()
3 如下所示
os.path.sep:路徑分隔符 linux下就用這個了’/’os.path.altsep: 根目錄os.path.curdir:當(dāng)前目錄os.path.pardir:父目錄os.path.abspath(path):絕對路徑os.path.join(): 常用來鏈接路徑os.path.split(path): 把path分為目錄和文件兩個部分,以列表返回
print os.path.split('/root/pp/f.c')
打印結(jié)果:('/root/pp', 'f.c')4 os.path.splitext()
os.path.splitext(“文件路徑”) 分離文件名與擴(kuò)展名;默認(rèn)返回(fname,fextension)元組,可做分片操作
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用函數(shù)默認(rèn)值實現(xiàn)函數(shù)靜態(tài)變量的方法
這篇文章主要介紹了Python使用函數(shù)默認(rèn)值實現(xiàn)函數(shù)靜態(tài)變量的方法,是很實用的功能,需要的朋友可以參考下2014-08-08

