Python os模塊--路徑、文件、系統命令等操做

os模塊包含廣泛的操做系統功能。html

注意:函數參數path是文件或目錄的路徑,filename是文件的路徑,dirname是目錄的路徑,路徑能夠是相對路徑,也可絕對路徑python

常見或重要的函數爲加粗字體linux

os模塊:windows

os.name ----- 返回當前操做系統名稱('posix', 'nt', 'os2', 'mac', 'ce', 'riscos'),windows爲'nt',linux爲'posix'函數

 

os中定義了一組文件、路徑在不一樣操做系統中的表現形式參數,以下:字體

os.sep --返回路徑各部分之間的分隔符,linux是'/',windows是'\\',因爲'\'在python中會轉義,因此返回值是兩個'\'   == os.path.sepspa

os.extsep ----- 返回文件名和文件擴展名之間的分隔符: '.'操作系統

os.pathsep ----- 目錄分隔符,':'orm

os.linesep ----- 換行分隔符,linux是'\n',windows是'\r\n'htm

 

os中有大量文件、路徑操做的相關函數,如:

os.listdir(path) ----- 列舉目錄下的全部文件和子目錄

os.getcwd() ----- 獲取當前工做目錄路徑

os.mkdir(dirname) ----- 建立目錄,目錄已存在將不能再建立

os.makedirs(dirname) ----- 遞歸式的建立目錄,上級目錄不存在,將會建立;目錄已存在將不能再建立

os.remove(filename) ----- 刪除指定的文件

os.rmdir(dirname) ----- 刪除一個空目錄

os.removedirs(dirname) ----- 遞歸刪除空目錄,例如 os.removedirs('dir1/dir2/dir3'),dir1下除了dir2還有其餘,dir2下只有dir3,則刪除dir3和dir2

os.rename(src, dst) ----- 給文件或目錄更名

os.renames(src, dst) ----- 遞歸式的給文件或目錄更名

os.access(path, mode) ----- 檢驗權限模式,返回值爲bool值。mode參數列表[os.F_OK, os.R_OK, os.W_OK, os.X_OK]

os.F_OK: path是否存在;os.R_OK: path是否可讀; os.W_OK: path是否可寫;os.X_OK: path是否可執行。

os.chdir(path) ----- 改變當前工做目錄

os.walk(path[, topdown=True[, onerror=None[, followlinks=False]]] ) ----- 遍歷路徑下的目錄和文件以及子目錄下的目錄和文件,無論多少層多會遍歷到。 返回一個3-元組的generator:(dirpath, dirnames, filenames)[目錄路徑,目錄名列表,文件名列表]

可選參數:

topdown -- 爲True或者沒有指定,先遍歷目錄再遍歷其子目錄;爲False,一個目錄的3-元組比它的任何子目錄的3-元組後產生

onerror -- 可選,是一個函數; 它調用時有一個參數, 一個OSError實例。報告這錯誤後,繼續walk,或者拋出exception終止walk。

followlinks -- 設置爲 true,則經過軟連接訪問目錄。

實例見下一篇: http://www.cnblogs.com/victorwu/p/5840099.html

 

os中與進程相關的操做:

os.system(cmd) ----- 運行一個程序或命令,會當即返回,上述不少操做均可以用該函數完成

os.startfile(filename) ----- 用與文件關聯的程序運行,關聯程序打開後,當即返回

os.execl(path) ----- 運行一個程序來替代當前進程,會阻塞式運行

os._exit(n) ----- 退出程序

 

os.path模塊:

os.path.isfile(path) ----- 檢驗給出的路徑是不是一個文件,返回bool值

os.path.isdir(path) ----- 檢驗給出的路徑是不是一個目錄,返回bool值

os.path.exists(path) ----- 檢驗給出的路徑是否存在,返回bool值

os.path.getsize(path) ----- 得到路徑(文件或目錄)的大小,若是是目錄,返回0L,以字節爲單位

os.path.abspath(path) ----- 得到絕對路徑

os.path.normpath(path) ----- 規範path字符串形式,結果把/變爲//

os.path.split(path) ----- 分割路徑名和文件名,返回值爲tuple:(路徑名,文件名.文件擴展名),若是路徑是目錄,則返回:(路徑名,'')

os.path.splitext(path) ----- 分離文件名和擴展名,返回值格式:(文件名,擴展名),若是參數是目錄,則返回:(路徑,'')

os.path.join(path,name) ----- 鏈接目錄與文件名或目錄,返回值爲:path/name

os.path.basename(path) ----- 返回文件名,實際上把路徑的最後一個"/"分割,返回後者,目錄亦如此

os.path.dirname(path) ----- 返回文件路徑,其實是把路徑的最後一個"/"分割,返回前者,目錄亦如此

os.path.getatime(path) ----- 文件或文件夾的最後訪問時間,重新紀元到訪問時的秒數

os.path.getmtime(path) ----- 文件或文件夾的最後修改時間

os.path.getctime(path) ----- 文件或文件夾的建立時間

 

更多方法(文件描述符等)見:http://www.runoob.com/python/os-file-methods.html

相關文章
相關標籤/搜索