os模塊是與操作系統(tǒng)交互的一個接口
os.getcwd() 獲取當(dāng)前工作目錄朱盐,即當(dāng)前python腳本工作的目錄路徑
os.chdir("dirname") 改變當(dāng)前腳本工作目錄伍玖;相當(dāng)于shell下cd
os.curdir 返回當(dāng)前目錄: ('.')
os.pardir 獲取當(dāng)前目錄的父目錄字符串名:('..')
os.makedirs('dirname1/dirname2') 可生成多層遞歸目錄
os.removedirs('dirname1') 若目錄為空,則刪除,并遞歸到上一級目錄唤反,如若也為空,則刪除魁蒜,依此類推
os.mkdir('dirname') 生成單級目錄憔恳;相當(dāng)于shell中mkdir dirname
os.rmdir('dirname') 刪除單級空目錄,若目錄不為空則無法刪除挥转,報錯海蔽;相當(dāng)于shell中rmdir dirname
os.listdir('dirname') 列出指定目錄下的所有文件和子目錄,包括隱藏文件绑谣,并以列表方式打印
os.remove() 刪除一個文件
os.rename("oldname","newname") 重命名文件/目錄
os.stat('path/filename') 獲取文件/目錄信息
os.sep 輸出操作系統(tǒng)特定的路徑分隔符党窜,win下為"\\",Linux下為"/"
os.linesep 輸出當(dāng)前平臺使用的行終止符,win下為"\t\n",Linux下為"\n"
os.pathsep 輸出用于分割文件路徑的字符串 win下為;,Linux下為:
os.name 輸出字符串指示當(dāng)前使用平臺借宵。win->'nt'; Linux->'posix'
os.system("bash command") 運行shell命令幌衣,直接顯示
os.environ 獲取系統(tǒng)環(huán)境變量
os.path.abspath(path) 返回path規(guī)范化的絕對路徑
os.path.split(path) 將path分割成目錄和文件名二元組返回
os.path.dirname(path) 返回path的目錄。其實就是os.path.split(path)的第一個元素
os.path.basename(path) 返回path最后的文件名壤玫。如何path以/或\結(jié)尾豁护,那么就會返回空值。即os.path.split(path)的第二個元素
os.path.exists(path) 如果path存在欲间,返回True楚里;如果path不存在,返回False
os.path.isabs(path) 如果path是絕對路徑猎贴,返回True
os.path.isfile(path) 如果path是一個存在的文件班缎,返回True蝴光。否則返回False
os.path.isdir(path) 如果path是一個存在的目錄,則返回True吝梅。否則返回False
os.path.join(path1[, path2[, ...]]) 將多個路徑組合后返回虱疏,第一個絕對路徑之前的參數(shù)將被忽略
os.path.getatime(path) 返回path所指向的文件或者目錄的最后存取時間
os.path.getmtime(path) 返回path所指向的文件或者目錄的最后修改時間
os.path.getsize(path) 返回path的大小
在Linux和Mac平臺上,該函數(shù)會原樣返回path苏携,在windows平臺上會將路徑中所有字符轉(zhuǎn)換為小寫做瞪,并將所有斜杠轉(zhuǎn)換為飯斜杠。
>>> os.path.normcase('c:/windows\\system32\\')
'c:\\windows\\system32\\'
規(guī)范化路徑右冻,如..和/
>>> os.path.normpath('c://windows\\System32\\../Temp/')
'c:\\windows\\Temp'
>>> a='/Users/jieli/test1/\\\a1/\\\\aa.py/../..'
>>> print(os.path.normpath(a))
/Users/jieli/test1
os路徑處理
#方式一:推薦使用
import os
#具體應(yīng)用
import os,sys
possible_topdir = os.path.normpath(os.path.join(
os.path.abspath(__file__),
os.pardir, #上一級
os.pardir,
os.pardir
))
sys.path.insert(0,possible_topdir)
#方式二:不推薦使用
os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))