python中關于os.path.pardir的一些坑
關于os.path.pardir的一些坑
os.path里面,.表示當前目錄,..表示上一級目錄(os.path.pardir就是表示這個字符串),但是當你偷懶把os.path.abspath(__file__)寫成os.path.abspath(".")時,有時運行起來沒有問題,有時候有莫名其妙出問題,其實問題出在.并不是文件目錄,而是運行python文件時所處的工作目錄,通過pthon a/b/c.py運行時就出錯了。
同樣,如果要獲取當前文件的上一級目錄,可以
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需要手動轉為list()
3 如下所示
os.path.sep
:路徑分隔符 linux下就用這個了’/’os.path.altsep
: 根目錄os.path.curdir
:當前目錄os.path.pardir
:父目錄os.path.abspath(path)
:絕對路徑os.path.join()
: 常用來鏈接路徑os.path.split(path)
: 把path分為目錄和文件兩個部分,以列表返回
print os.path.split('/root/pp/f.c') 打印結果:('/root/pp', 'f.c')
4 os.path.splitext()
os.path.splitext(“文件路徑”) 分離文件名與擴展名;默認返回(fname,fextension)元組,可做分片操作
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
使用Python編寫一個在Linux下實現(xiàn)截圖分享的腳本的教程
這篇文章主要介紹了使用Python編寫一個在Linux下實現(xiàn)截圖分享的腳本的教程,利用到了scrot和urllib2庫,需要的朋友可以參考下2015-04-04Python數(shù)據(jù)結構與算法之字典樹實現(xiàn)方法示例
這篇文章主要介紹了Python數(shù)據(jù)結構與算法之字典樹實現(xiàn)方法,可實現(xiàn)針對單詞出現(xiàn)次數(shù)的統(tǒng)計功能,涉及Python樹結構的定義、遍歷及統(tǒng)計等相關操作技巧,需要的朋友可以參考下2017-12-12Python redis操作實例分析【連接、管道、發(fā)布和訂閱等】
這篇文章主要介紹了Python redis操作,結合實例形式分析了Python redis的連接、管道、發(fā)布和訂閱等相關概念、原理及操作技巧,需要的朋友可以參考下2019-05-05