常用的函數(shù)調(diào)用:
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')? ? 可生成多層遞歸目錄 c:/a/b/c/d
os.removedirs('dirname1')? ? 若目錄為空,則刪除,并遞歸到上一級(jí)目錄,如若也為空,則刪除,依此類推
os.mkdir('dirname')? ? 生成單級(jí)目錄;相當(dāng)于shell中mkdir dirname
os.rmdir('dirname')? ? 刪除單級(jí)空目錄,若目錄不為空則無(wú)法刪除,報(bào)錯(cuò);相當(dāng)于shell中rmdir dirname
os.listdir('dirname')? ? 列出指定目錄下的所有文件和子目錄,包括隱藏文件,并以列表方式打印
os.remove()? 刪除一個(gè)文件
os.rename("oldname","newname")? 重命名文件/目錄
os.stat('path/filename')? 獲取文件/目錄信息
os.sep? ? 輸出操作系統(tǒng)特定的路徑分隔符,win下為"\\",Linux下為"/"
os.linesep? ? 輸出當(dāng)前平臺(tái)使用的行終止符,win下為"\t\n",Linux下為"\n"
os.pathsep? ? 輸出用于分割文件路徑的字符串 win下為;,Linux下為:
os.name? ? 輸出字符串指示當(dāng)前使用平臺(tái)。win->'nt'; Linux->'posix'
os.system("bash command")? 運(yùn)行shell命令,直接顯示
os.environ? 獲取系統(tǒng)環(huán)境變量
os.path.abspath(path)? 返回path規(guī)范化的絕對(duì)路徑
os.path.split(path)? 將path分割成目錄和文件名二元組返回
os.path.dirname(path)? 返回path的目錄。其實(shí)就是os.path.split(path)的第一個(gè)元素
os.path.basename(path)? 返回path最后的文件名。如何path以/或\結(jié)尾,那么就會(huì)返回空值。即os.path.split(path)的第二個(gè)元素
os.path.exists(path)? 如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)? 如果path是絕對(duì)路徑,返回True
os.path.isfile(path)? 如果path是一個(gè)存在的文件,返回True。否則返回False
os.path.isdir(path)? 如果path是一個(gè)存在的目錄,則返回True。否則返回False
os.path.join(path1[, path2[, ...]])? 將多個(gè)路徑組合后返回,第一個(gè)絕對(duì)路徑之前的參數(shù)將被忽略
os.path.getatime(path)? 返回path所指向的文件或者目錄的最后存取時(shí)間
os.path.getmtime(path)? 返回path所指向的文件或者目錄的最后修改時(shí)間
os.path.getsize(path) 返回path的大小
os路徑處理:
#方式一:推薦使用
import os
#具體應(yīng)用
import os,sys
possible_topdir = os.path.normpath(os.path.join(
? ? os.path.abspath(__file__),
? ? os.pardir, #上一級(jí)
? ? os.pardir,
? ? os.pardir
))
sys.path.insert(0,possible_topdir)
#方式二:不推薦使用
os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))