python下的os,下Python

本文目錄一覽:

Python之OS模塊操作有哪些?這18個高頻函數是重中之重,你會用?

案例一:新建一個txt文件並向文件中寫入數據。

代碼與結果如上圖所示。

案例:os.rename(‘kitty1.txt’,”kitty2.txt’)

2.1 輸出結果:將kitty1文件改為kitty2

2.2 文件解析說明:文件重命名,將test1文件改為test2文件。

案例:os.remove(‘kitty2.txt’)

3.1 輸出結果:kitty2.txt文件被刪除

3.2 解析說明:刪除文件。

案例:os.mkdir(‘kitty’)

4.1 輸出結果:創建一個文件夾名字為kitty

4.2 解析說明:創建文件夾。

4.3 解析說明:list.pop()就直接從list中的最末尾處刪除一個元素。

案例:os.rmdir(‘test’)

5.1 輸出結果:刪除一個文件夾

5.3 解析說明:刪除文件夾.

解析說明:可以取代操作系統特定的路徑分割符

案例一:print(os.getcwd())

輸出結果:D:PythonProjectPython編程基礎

解析說明:相當於linux下的pwd,獲取當前目錄。

案例一:os.chdir(os.getcwd()+os.sep+’kitty’)

解析說明:進入到某個目錄下。

解析說明:相當於linux下的ls,顯示當前目錄下的文件。

解析說明:創建一個aa文件夾,再在裡面創建一個bb文件夾。

解析說明:刪除aa文件夾和aa文件夾中的bb文件夾。

解析說明:判斷是否是個文件。

解析說明:判斷是否是個文件夾。

解析說明:判斷文件是否存在。

解析說明:獲取文件大小。

解析說明:返迴文件的絕對路徑。

解析說明:獲取文件的文件名,注意參數需要傳入絕對路徑。

解析說明:獲取文件的所在目錄,注意參數需要傳入絕對路徑。

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庫的使用

python os庫有很多和操作系統相關的功能。

其實不僅僅如此,os庫中還有很多和文件,路徑,執行系統命令相關的。

下面是os模塊常用的方法.

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

2.os.name                字元串指示你正在使用的平台。比如對於Windows,它是’nt’,而對於Linux/Unix用戶,它是’posix’

3.os.getcwd()            函數得到當前工作目錄,即當前Python腳本工作的目錄路徑

4.os.getenv()            用來讀取環境變數

5.os.putenv()            用來設置環境變數

6.os.listdir()              返回指定目錄下的所有文件和目錄名

7os.remove()            函數用來刪除一個文件

8.os.system()            函數用來運行shell命令

9.os.linesep              字元串給出當前平台使用的行終止符。例如,Windows使用’/r/n’,Linux使用’/n’而Mac使用’/r’。

10.os.path.split()      函數返回一個路徑的目錄名和文件名

11.os.path.isfile()      檢驗給出的路徑是一個文件

12os.path.isdir()        檢驗給出的路徑是一個目錄

13.os.path.existe()    函數用來檢驗給出的路徑是否真地存在

14.os.listdir(dirname) 列出dirname下的目錄和文件

15.os.getcwd()          獲得當前工作目錄

16.os.curdir                返回當前目錄(’.’)

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

os.path都是和路徑指定的文件,目錄,和路徑字元串有關係的函數

os.path.isdir(name)          判斷name是不是一個目錄,name不是目錄就返回false

os.path.isfile(name)          判斷name是不是一個文件,不存在name也返回false

os.path.exists(name)        判斷是否存在文件或目錄name

os.path.getsize(name)      獲得文件大小,如果name是目錄返回0L

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

os.path.normpath(path)    規範path字元串形式

os.path.split(name)          分割文件名與目錄(事實上,如果你完全使用目錄,它也會將最後一個目錄作為文件名而分離,同時它不會判斷文件或目錄是否存在)

os.path.splitext()              分離文件名與擴展名

os.path.join(path,name)    連接目錄與文件名或目錄

os.path.basename(path)  返迴文件名

os.path.dirname(path)      返迴文件路徑

原創文章,作者:XZBW,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/144085.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
XZBW的頭像XZBW
上一篇 2024-10-24 15:27
下一篇 2024-10-24 15:27

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29

發表回復

登錄後才能評論