1. 程式人生 > 其它 >open,os模組的常用函式

open,os模組的常用函式

一.open用於讀寫檔案

1.open的基本語法 : open(file,mode,buffering,encoding,errors.........),open中有如下幾個引數,一般情況

下我們只需要file,mode,encoding即可。

  • file: 必需,檔案路徑(相對或者絕對路徑)
  • mode: 可選,檔案開啟模式
  • buffering: 設定緩衝
  • encoding: 一般使用utf8
  • errors: 報錯級別
  • newline: 區分換行符
  • closefd: 傳入的file引數型別
  • opener: 設定自定義開啟器,開啟器的返回值必須是一個開啟的檔案描述符。

(1)file:要讀寫的檔案

(2)mode:對檔案使用的許可權

r:可讀許可權

r+:可讀寫許可權,寫入的內容放在末尾

w:可寫許可權,寫入的內容替換原有的內容

w+:可讀寫許可權,寫入的內容替換原有的內容

a:追加的內容放在末尾

a+:可讀寫。寫的內容放在末尾

(3)encoding:編碼,填寫utf8即可

2.open中的函式

name:獲取檔名,即open中的值

write():寫入內容

writelines():寫入內容可以是list/set/字典/元組型別

read():讀取檔案內容

teel():檢視當前指標指向的位置

seek(offset whence):設定指標位置,offset偏移位置,whence表示從哪個位置開始(0開頭位置,1當前位置,2結尾位置)

close():關閉

3.運用例項,對於以下寫法,有些python版本可能會報錯('encoding' is an invalid keyword argument for this function

這個時候可以有兩種解決辦法(1.刪除encoding=“utf8” 2.引入io庫,在open前加上io.即可)

當我們使用write()寫入的時候,可能還會報錯(write() argument 1 must be unicode, not str/int),這是因為你輸入的內容

是字串或者int型別,不是bytes,大概原因是python預設編碼導致的,一個萬能的解決辦法,在輸入內容前加個u即可(

a.write(u"飯然超上到")

二.os模組基本函式(使用時需先用import匯入os模組)

os.system():可寫入命令

os.mkdir(path):建立目錄

os.rmdir(path):刪除目錄

os.remove(path):移除目錄

os.path.abspath(__file__):獲取當前py檔案絕對路徑(__file__為ypthon全域性變數,表示當前檔案)

os.getcwd():獲取當前檔案所在目錄

os.chdir(path):修改當前檔案路徑

os.path.dirname(__file__):獲取當前py檔案所在的目錄

os.path.join(path,"path"):在當前目錄下追加目錄

os.name:獲取當前是什麼系統,win打印出來的是nt,linux是posix

三.其它函式

a.replace("old","new")

a[2],a[1:5],a[:5]:擷取字串,下標從0開始