python的os模塊幾個概念,python中os模塊有什麼用

本文目錄一覽:

python中os模塊主要是幹嘛的?

OS模塊簡單的來說它是一個Python的系統編程的操作模塊,可以處理文件和目錄這些我們日常手動需要做的操作。

OS模塊(python自動化測試)

在自動化測試中,需要經常查找操作文件,比如查找配置文件,從而讀取配置文件信息,查找測試報告,從而發送測試報告郵件等等,這些都需要對大量測試文件和文件路徑進行操作,這非常依賴OS模塊。

1、基本操作

2、分解路徑

注意,路徑分解為文件夾和文件名,返回的是一個元組。

3、組合路徑

文件夾和文件名進行組合

同一個文件下有不同的文件,path路徑進行組合的時候,如果其中有絕對路徑,那麼前者會被刪除,這需要注意。

『C:\Users\Administrator\b』文件路徑會被刪除了,只會保留’C:\Users\Administrator\a’文件路徑。

4、返迴文件夾

默認情況下它會將最後一個分隔符後的作為文件,前面的作為文件夾

5、返迴文件夾名

6、查看文件時間

查看文件最後修改時間

查看文件最後訪問時間

查看文件創建時間

7、查看文件大小

8、查看文件是否存在

9、更改操作系統中的路徑分隔符等表現形式參數:

os.sep

os.extsep

os.pathsep

os.linesep:為空

Python包之OS

參考:

Python中對OS模塊的定位是:提供了使用操作系統的工具接口。

如果你想讀寫文件,可以參考open();

如果你想操作文件路徑,參考os.path模塊;

如果你想在命令行讀取所有文件的所有行,參考fileinput模塊;

如果你想創建臨時文件或目錄,參考tempfile模塊;

如果你想更高級的文件和路徑處理,參考shutil模塊;

內置的OSError異常類型,比如在使用os模塊中的函數接口時,在參數中提供了無效的文件或路徑,就回報錯os.error。

該變量返回當前操作系統的類型,當前只註冊了3個值:分別是posix , nt , java, 對應linux/windows/java虛擬機。

在Python中,文件名,命令行參數和環境變量都是用字符串類型來表示。

接下來的這些函數和數據提供了當前進程和用戶的信息狀態和操作接口。

返回進程控制終端的文件名,適用於Unix系統。

返回字符串到環境變量的映射。

改變當前工作目錄到指定的路徑,path為要切換到的新路徑。

通過文件描述符改變當前工作目錄。

文件描述符是內核為了高效管理已經被打開的文件所創建的索引,

進程通過文件描述符來訪問文件。 在程序剛啟動的時候默認有3個文件描述符:0(標準輸入),1(標準輸出),2(標準錯誤),系統默認提供了 0~2的文件描述符,之後的 當我們進行 open,create等操作的時候 自動添加進表

所以int creat(const char * ,mode_t)返回的文件int 就是你所進行操作的文件的唯一身份標示,

然後你只要拿着這個ID 然後告訴系統給我找xx, write(int fd,char *buf,int lenght) 通過fd得到準確文件 然後寫入。

當我們新建creat,打開open 之後,得到的fd 是從3開始的 因為前面的三個被系統佔了在OS X系統下測試 文件描述符表 自增,當釋放close之後,fd變成-1,如果再繼續新建 則填補之前的空缺。

返回當前工作目錄。

把字符串類型的文件名翻譯成bytes類型的文件名;os.fsdecode()實現相反的功能。

返迴路徑的文件系統表示。

如果環境變量中存在key,返迴環境變量key的值,否則返回default的值。

設置環境變量key的值為value。

使用當前uid/gid檢測對路徑path是否有訪問權限。其中,path為要檢測是否有權限的路徑,mode為權限類別,值可以為os.F_OK、os.R_OK、os.W_OK、os.X_OK中的一個或多個;

切換當前的工作路徑為path指定的路徑。

設置路徑path的標記為flags,flags為數字標記,多個flags可以使用or組合。flags可以為以下值或以下值的組合:

更改文件或目錄的權限。

path — 文件名路徑或目錄路徑

mode — 可用以下選項按位或操作生成, 目錄的讀權限表示可以獲取目錄里文件名列表, 寫權限表示可以獲取文件並且可以修改內容,執行權限表示可以把工作目錄切換到此目錄 ,刪除添加目錄里的文件必須同時有寫和執行權限 ,文件權限以用戶id-組id-其它順序檢驗,最先匹配的允許或禁止權限被應用。

更改路徑的擁有者和group id為uid和gid。如果不修改可以設置為-1,並且需要超級用戶權限來執行權限修改操作。

path — 設置權限的文件路徑

uid — 所屬用戶ID

gid — 所屬用戶組ID

更改當前進程的根目錄為path。

返回當前工作目錄。

返回path目錄路徑下的文件列表,列表沒有固定的順序。

創建目錄path。如果目錄已經存在,會拋出異常FileExistsError。

遞歸的目錄創建,遞歸的意思是創建所有到達葉子目錄的中間目錄。

從原始設備號(通常是stat中的st_dev或st_rdev)中提取設備major號碼。

從原始設備號(通常是stat中的st_dev或st_rdev)中提取設備minor號碼。

根據設備的major號碼和minor號碼組成原始設備號。

刪除文件路徑path。如果path指向的是目錄路徑,會拋出異常IsADirectoryError。如果要刪除目錄,使用rmdir。

遞歸的刪除目錄。與rmdir功能相似,不同的是,如果葉子目錄被刪除之後,removedirs會連續的刪除每一層上級目錄,直到拋出異常(異常會被忽略,因為異常通常意味着上層目錄為非空目錄)。

重命名文件或路徑src為dst,如果dst已經存在,會拋出異常。

遞歸的重命名文件或目錄。功能與rename類似,不同在於,renames首先創建new路徑(即重命名之後的路徑)的中間路徑,然後創建完整new路徑,最後,會使用removedirs刪除掉old路徑(實際上刪除的是old路徑與new路徑不重合的部分)。

重命名文件或路徑src為dst。如果dst是目錄,拋出異常OSError。如果dst是文件且已經存在,且用戶具有權限,dst會被替換掉。

刪除path目錄。如果path不存在,或者path非空,會拋出異常FileNotFoundError或OSError。如果要刪除整個目錄樹,可以使用shutil.rmtree()。

返回path的絕對路徑,效果等同於使用normpath:normpath(join(os.getcwd(), path))。

返迴路徑path的文件名,也就是對path調用os.path.split函數返回的元組的第二個元素。

paths為一個序列類型,其中每個元素表示一個路徑,函數返回結果為每個元素所表示的路徑的最長公共子路徑。如果paths為空,或者paths同時包含絕對路徑和相對路徑,或者paths同時包含不同驅動類型的路徑(比如Linux系統的路徑和Windows系統的路徑),則拋出異常ValueError。

list中的每個元素表示一個路徑,函數返回每個路徑的最長的共有路徑前綴,因為計算方式為逐個字符進行比較,所以可能返回的結果並非有效的路徑,如果要返回有效路徑,可以使用commonpath。

返回path路徑的目錄部分,也就是對path調用os.path.split函數返回的元組的第一個元素。

如果path指向的路徑已存在,則返回True,否則返回False。

在Unix和Windows系統中,返回path路徑中的~被替換成用戶的home目錄之後的結果。

path路徑中的 {name}被環境變量中對應名稱的值替代。

返回最後一次訪問path的時間,返回值的格式為一個float類型的數值,表示距離epoch基準時間1970-01-01 00:00:00的秒數。如果path表示的路徑不存在或者沒有權限,拋出異常OSError。

返回最後一次修改path的時間,返回值的格式為一個float類型的數值,表示距離epoch基準時間1970-01-01 00:00:00的秒數。如果path表示的路徑不存在或者沒有權限,拋出異常OSError。

返回path表示的文件或路徑的大小,以byte位元組為單位。如果path表示的路徑不存在或者沒有權限,拋出異常OSError。

如果path是絕對路徑,返回True,否則返回False。

如果path表示的是已存在的文件路徑,返回True。

如果path表示的是已存在的目錄,返回True。

如果path表示的是鏈接,返回True。

判斷path是否為掛載點。

連接一個或多個路徑,path和多個*paths的連接會使用路徑分隔符。

對path的字母大小寫進行normalize。在Windows系統中,path中的所有字母都轉成小寫,並且把正斜杠轉成反斜杠。在其他操作系統中,返回path本身。

對path進行normalize,刪除多餘的路徑分隔符。

split the path into a pair (head, tail),其中tail是path中最後的部分,並且永遠不會含有斜杠,head是除了tail之外的部分。如果path以斜杠結尾,tail為空;如果path中不包含斜杠,head為空;如果path為空,head和tail都是空。

如何學習python的os模塊

一、os模塊概述

Python os模塊包含普遍的操作系統功能。如果你希望你的程序能夠與平台無關的話,這個模塊是尤為重要的。(一語中的)

二、常用方法

1、os.name

輸出字符串指示正在使用的平台。如果是window 則用’nt’表示,對於Linux/Unix用戶,它是’posix’。

2、os.getcwd()

函數得到當前工作目錄,即當前Python腳本工作的目錄路徑。

3、os.listdir()

返回指定目錄下的所有文件和目錄名。

os.listdir(os.getcwd())

[‘Django’, ‘DLLs’, ‘Doc’, ‘include’, ‘Lib’, ‘libs’, ‘LICENSE.txt’, ‘MySQL-python-wininst.log’, ‘NEWS.txt’, ‘PIL-wininst.log’, ‘python.exe’, ‘pythonw.exe’, ‘README.txt’, ‘RemoveMySQL-python.exe’, ‘RemovePIL.exe’, ‘Removesetuptools.exe’, ‘Scripts’, ‘setuptools-wininst.log’, ‘tcl’, ‘Tools’, ‘w9xpopen.exe’]

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/285381.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 15:44
下一篇 2024-12-22 15:44

相關推薦

發表回復

登錄後才能評論