Python技術基礎知識點:OS模組的應用

千鋒武漢發表於2021-06-22

  1.os模組

  對於檔案和目錄進行處理

  目錄:就是資料夾

  屬性:

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

  如果是windows ---> nt

  如果是max ---> posix

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

  函式:

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

  路徑分類:

  絕對路徑:帶磁碟機代號根目錄的就是絕對路徑

pyhton

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

  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() #關閉檔案(釋放資源)

  希望本文的分享能幫到大家。本文來自千鋒教育,轉載請註明出處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2777738/,如需轉載,請註明出處,否則將追究法律責任。

相關文章