python標準庫之os操作

2021-09-13 15:16:13 字數 3006 閱讀 6704

python os模組--路徑、檔案、系統命令等操作

os模組包含普遍的作業系統功能。

注意:函式引數path是檔案或目錄的路徑,filename是檔案的路徑,dirname是目錄的路徑,路徑可以是相對路徑,也可絕對路徑

常見或重要的函式為加粗字型

os模組:

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

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

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

os.extsep ----- 返回檔名和副檔名之間的分隔符: '.'

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

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

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[, οnerrοr=none[, followlinks=false]]] ) -----遍歷路徑下的目錄和檔案以及子目錄下的目錄和檔案,不管多少層多會遍歷到。 返回乙個3-元組的generator:(dirpath, dirnames, filenames)[目錄路徑,目錄名列表,檔名列表]

可選引數:

topdown -- 為true或者沒有指定,先遍歷目錄再遍歷其子目錄;為false,乙個目錄的3-元組比它的任何子目錄的3-元組後產生

onerror -- 可選,是乙個函式; 它呼叫時有乙個引數, 乙個oserror例項。報告這錯誤後,繼續walk,或者丟擲exception終止walk。

followlinks -- 設定為 true,則通過軟鏈結訪問目錄。

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) ----- 檔案或資料夾的建立時間

更多方法(檔案描述符等)見:

python標準庫之 os

常用的python標準庫有 2 time datatime 時間與日期相關 3 科學計算相關 math 4 網路請求相關 urline os模組主要是對檔案和目錄的操作,常用的方法 os.listdir 列出當前目錄下有哪些檔案和目錄,以列表形式返回。可以通過遍歷這個列表,去操作我們想要操作的檔案 ...

Python常用標準庫之OS

系統相關 os.name 檢視當前作業系統的名稱。windows平台下返回 nt linux則返回 posix os.environ 獲取系統環境變數 os.sep 當前平台的路徑分隔符。在windows下,為 在posix系統中,為 os.altsep 可替代的路徑分隔符,在windows中為 o...

python標準庫 os庫

os模組主要用於跟作業系統打交道 os模組常用的方法 os.getcwd 獲取當前工作目錄,即當前python指令碼工作的目錄路徑 os.chdir dirname 改變當前指令碼工作目錄 相當於shell下cd os.curdir 返回當前目錄 os.pardir 獲取當前目錄的父目錄字串名 os...