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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章