Python知識之os模組學習

2021-09-18 07:16:21 字數 3260 閱讀 9774

1.os模組

對於檔案和目錄進行處理

目錄:就是資料夾

屬性:

os.name:檢視當前系統的型別;

如果是windows ---> nt

如果是max ---> posix

os.environ:返回當前系統的環境變數(所有)

函式:

os.environ.get():獲取指定的某乙個環境變數

路徑分類:

絕對路徑:帶碟符根目錄的就是絕對路徑

相對路徑:相對於某個檔案(參照物)所得到的乙個路徑值; 特點:書寫的時候不帶碟符的

os.getcwd():返回當前正在執行的.py檔案所對應的完整路徑(絕對路徑)

os.listdir(path):將path路徑下的所有檔案和目錄顯示

os.mkdir(path):建立單層資料夾,此方法只能建立目錄,如果目錄已經存在,建立失敗,報錯

os.makedirs(path):建立多層資料夾(級聯新建),此方法也只能建立目錄,如果目錄已經存在,建立失敗,報錯

os.rmdir(path):刪除單層資料夾,此方法只能刪除目錄,如果目錄不存在,刪除失敗,報錯:filenotfounderror

os.removedirs(path):刪除多層資料夾(級聯刪除),此方法也只能刪除目錄,如果目錄不存在,建立失敗,報錯

os.remove(path):刪除檔案,如果檔案不存在,報錯!【注意】這個方法只能刪除檔案不能刪除目錄

os.rename(old, new):可以給檔案或者目錄重新命名

os.system():執行系統指令:cls、ipconfig、dir。。。

os.path.join(path, filename):將path和filename中的資料拼接稱為乙個新的路徑,以字串的形式返回

os.path.isdir(path):判斷path對應的路徑內容是否為乙個目錄,如果是,返回true;反之,返回false

os.path.isfile(path):判斷path對應的路徑內容是否為乙個檔案,如果是,返回true;反之,返回false

os.path.exists(path):判斷path對應的路徑內容是否存在,如果存在,返回true;反之,返回false

os.path.getsize(path):對path對應的路徑內容進行容量檢測,並且返回位元組量

os.path.basename(path):傳入乙個路徑值,將此路徑的最後乙個/後面的部分返回

os.path.dirname(path):傳入乙個路徑值,將此路徑的最後乙個/前面的部分返回

os.path.split(path):傳入乙個路徑值,將此路徑的最後乙個/的前面部分放入到元祖的第乙個元素中,

/後面的部分放入到元祖的第二個元素中

os.path.splitext(path):傳入乙個路徑值,將此路徑的最後乙個.的前面部分放入到元祖的第乙個元素中,

.以及後面的部分放入元祖的第二個元素中 

1.字符集(字元編碼):

ascii碼:

美國的標準碼,範圍:自己去找找看

unicode碼:

萬國碼,它可以包含中文,但是很可惜,它不被通用(流行)

utf-8碼:

計算機中使用最為流行,它包含了之前unicode中的內容並且擴充套件了,

它同樣可以儲存中文

utf-8碼儲存中文字元,乙個漢字占用3個位元組,

gbk碼:

我們中國的碼表,它同樣繼承了gb2312,主要用於一些中文的系統

gbk儲存中文字元,1個漢字占用記憶體2個位元組,

2.位元組和字元

記住:計算機中一切皆位元組(儲存方面)

思考:.doc結尾的檔案是字元檔案嗎?

不是;

3.檔案讀取

有規定的步驟:

1).開啟檔案

2).運算元據(讀、寫)

3).關閉檔案    **

開啟檔案:

fp= open(path, 開啟方式, encoding=,errors='ignore')

運算元據:

開啟方式:

'r':表示唯讀字元(readonly)

#'r+':在唯讀的功能下,在追加乙個寫的功能

'w':表示只寫字元(readwrite),第一次寫完,如果沒有關閉檔案,繼續寫,那麼會將原本的內容覆蓋

#'w+':在只寫的功能下,在追加乙個讀的功能

'a':表示追加內容

#'a+':在保留追加內容的同時,新增了乙個讀的功能

'rb':表示唯讀位元組(二進位制資料)

'wb':表示只寫位元組(二進位制資料)

encoding:

編碼集如果不顯示定義,對應的就是:gbk

我們也可以根據自己的需要,定義譬如:utf-8

errors:

如果不寫,預設是報錯(編譯碼不一致)

我們也可以定義為ignore,這樣就不會報錯了,但是會出現亂碼

編碼&解碼:

編碼:程式 ---> 檔案

解碼:檔案 ---> 程式

記住:如果編碼和解碼不一致,一定會亂碼(中文情況下)

讀取檔案中的資料:

fp= open(path, 『r』)

content= fp.read()           #讀取全部內容

content= fp.read(num)            #讀取num個位元組數

content= fp.readline()              #讀取一行資料

content= fp.readlines()   #讀取所有行,以乙個列表的形式返回

print(content)                    #列印讀取到的內容

【注意】讀檔案,如果檔案不存在,直接報錯:filenotfounderror

寫入資料到檔案中:

fw= open(path, 'w')

fw.write(str1)                    #將變數str1中的內容寫入到path對應的檔案中(覆蓋)

【注意】寫檔案,如果檔案不存在,先建立檔案,再寫入內容;如果存在了,將以前的內容覆蓋

fw = open(path, 'a')

fw.write(str1)                    #將變數str1中的內容寫入到path對應的檔案中(追加)

關閉檔案:

fp.close()                   #關閉檔案(釋放資源)

python學習之os模組

1.在python中os模組是乙個系統封裝好的乙個模組,通過該模組可針作業系統進行一些列的操作,利用該模組作為輔助性工作是非常方便有效的。好了,見如下詳情。2,os模組中常用的一些屬性 os.name 表示的當前的作業系統的型別,win下為nt,linux作業系統下為posix。os.getcwd ...

python學習之os模組

1 window下的路徑分隔符和mac上的一樣嗎 在win下用 做路徑分隔符,mac裡用 2 如何檢視當前工作目錄 import os os.getcwd 3 如何切換當前工作目錄 import os os.chdir e 4 如何建立新資料夾 os.makedirs c python wim lo...

python學習之os模組詳解

os opreate system python標準庫,用於和作業系統平台的互動介面。使用os提供的介面,也可以實現跨平台訪問。一,目錄檔案操作 import os os.getcwd 獲取當前工作目錄,即當前python指令碼工作的目錄路徑 os.chdir d pycode 改變當前指令碼工作目...