1. 程式人生 > >python之os模組的基本使用

python之os模組的基本使用

import os匯入模組


os模組:

os.sep        可以取代作業系統特定的路徑分割符

os.linesep       字串給出當前平臺使用的行終止符。例如,Windows使用'\r\n',Linux使用'\n' 而Mac使用'\r'。

os.name       字串指示你正在使用的平臺。比如對於Windows,它是'nt',而對於Linux/Unix使用者,它是'posix'

os.getcwd() 函式  得到當前工作目錄,

os.getenv()和os.putenv() 函式  分別用來讀取和設定環境變數。

os.listdir(dirname)        列出dirname下的目錄和檔案

os.remove() 函式         用來刪除一個檔案。

os.curdir             返回但前目錄('.')

os.chdir(dirname):       改變工作目錄到dirname

getatime(path)          檔案或資料夾的最後訪問時間,從新紀元到訪問時的秒數

getmtime(path)         檔案或資料夾的最後修改時間

getctime(path)          檔案或資料夾的建立時間

os.path模組:

os.path.isfile()和os.path.isdir()函式    分別檢驗給出的路徑是一個檔案還是目錄,返回bool值


os.path.exists()函式           用來檢驗給出的路徑是否真地存在 返回bool

os.path.getsize(name)          獲得檔案大小,如果name是目錄返回0L 返回long 單位是位元組

os.path.abspath(name)         獲得絕對路徑

os.path.normpath(path)           規範path字串形式, 結果一般情況下把/變為//,

os.path.split(name)             將name分割成路徑名和檔名,結果為(路徑名,檔名.副檔名)(如果完全使用目錄,則會將最後一個目錄作為檔名而分離,同時不會判斷檔案或目錄是否存在)

os.path.splitext(filename)        分離檔名與副檔名 結果為(filename,副檔名) 如果引數為一個路徑 則返回(路徑,'')

os.path.join(path,name)          連線目錄與檔名或目錄 結果為path/name

os.path.basename(path)         返回檔名 實際為把path的最後一個"/"分割,返回後者。不管引數是一個路徑還是檔案 與os.path.split(name)相同 不同之處後者返回兩個值得元組

os.path.dirname(path)          返回檔案路徑 實際為把path的最後一個"/"分割,返回前者。不管引數是一個路徑還是檔案

os.system()函式            用來執行shell命令



os模組包裝了不同作業系統的通用介面,使使用者在不同作業系統下,可以使用相同的函式介面,返回相同結構的結果。



os.name               返回當前作業系統名稱('posix', 'nt', 'os2', 'mac', 'ce' or 'riscos')

os中定義了一組檔案、路徑在不同作業系統中的表現形式引數:

os.sep(資料夾分隔符,windows中是 \ )

os.extsep(副檔名分隔符,windows中是 . )

os.pathsep(目錄分隔符,windows中是 ; )

os.linesep(換行分隔符,windows中是 \r\n )



os中有大量檔案、路徑操作的相關函式:

listdir(path)              列舉目錄下的所有檔案

makedir(path)               建立資料夾,注:建立已存在的資料夾將異常

makedirs(path)             遞迴式的建立資料夾,注:建立已存在的資料夾將異常

remove(filename)           刪除一個檔案

rmdir(path)              刪除一個資料夾,注:刪除非空的資料夾將異常

removedirs(path)           遞迴的刪除資料夾,直到有一級的資料夾非空,注:資料夾路徑不能以'\'結束


rename(src,dst)              給檔案或資料夾改名(可以改路徑,但是不能覆蓋目標檔案)


renames(src,dst)           遞迴式的給檔案或檔名改名


walk(path)              列舉path下的所有檔案、資料夾


os中與程序相關的操作:

execl(path)               執行一個程式來替代當前程序,會阻塞式執行
_exit(n)               退出程式
startfile(filename)            用與檔案關聯的程式執行,關聯程式開啟後,立即返回
system(cmd)              執行一個程式或命令,會立即返回,並在cmd執行完成後,會返回cmd退出程式碼
os.path               在不同的作業系統中呼叫不同的模組,是一個可import的模組,這個模組中提供很多有用的操作:
abspath(path)            返回path的絕對路徑,若path已經是絕對路徑了,則保持。
basename(path)           返回path中的檔名。
commonprefix(list)          返回list中的統一字首,用於獲得一組字串的左起相同的內容
dirname(path)            返回path中的資料夾部分,結果不包含'\'
exists(path)             檔案或資料夾是否存在
getatime(path)              檔案或資料夾的最後訪問時間,從新紀元到訪問時的秒數
getmtime(path)             檔案或資料夾的最後修改時間
getctime(path)            檔案或資料夾的建立時間
getsize(path)              檔案或資料夾的大小,若是資料夾返回0
isabs(path)              返回是否是絕對路徑
isfile(path)               返回是否是檔案路徑
isdir(path)                返回是否是資料夾路徑
islink(path)               返回是否是快捷方式
join(path1,path2,...)            將path進行組合,若其中有絕對路徑,則之前的path將被刪除
normcase(path)            轉換路徑中的間隔符
normpath(path)            轉換路徑為系統可識別的路徑
realpath(path)            轉換路徑為絕對路徑
split(path)                將路徑分解為(資料夾,檔名)
splitext(path)              將路徑分解為(其餘部分,.副檔名),若檔名中沒有副檔名,副檔名部分為空字串

在操作與系統不支援的物件時,丟擲OSError異常。

判斷資料夾是否存在:
>>> import os
>>> os.path.exists('d:/assist')
True
>>> os.path.exists('d:/assist/getTeacherList.py')
True
>>> os.path.isfile('d:/assist')
False
>>> os.path.isfile('d:/assist/getTeacherList.py')
True
>>> os.makedirs('d:/assist/set')
>>> os.path.exists('d:/assist/set')
True

判斷資料夾是否為空:
使用os.listdir)命令
>>>workpath='目錄'
>>>if not os.list(workpath):
>>>  print '目錄為空'