Python IO操作 檔案操作

2021-08-10 18:16:22 字數 1792 閱讀 2952

讀檔案

使用python內建的函式open()可以開啟乙個檔案(類似c語言):

f = open('file.txt', 'r')

f.read()

f.close()

檔案讀寫時可能都會出錯,產生ioerror,一旦出錯f.close()就不能用,所以我們可以使用try…finally

try:

f = open('file.txt', 'r')

f.read()

finally:

if f:

f.close()

with方法

with

open('***.txt', 'r') as f:

print(f.read())

# 使用with語句不用呼叫close()

呼叫read()會一次性讀取檔案的全部內容,為了保險起見,可反覆呼叫read(size)方法,每次最多讀取size個位元組,另外,呼叫readline()可以每次讀取一行內容,呼叫readlines()一次性讀取所有內容並返回list

如果檔案很小,read()方法最方便;如果不能確定檔案的大小,可反覆呼叫read(size);如果是讀取配置檔案,那麼readlines()最方便

for line in f.readlines():

print(line.spilt()) # 把末尾的'\n'刪掉

要讀取非utf-8編碼的文字檔案,需要給open()函式傳入enconding引數,如:

f = open('gbk_file', 'r', enconding='gbk')

f.read()

遇到編碼不規範的的檔案,你可能遇到++unicodedecodeerror++,因為在文字中可能夾雜了一些非法編碼的字元。遇到這種情況++open()++\函式還要傳入乙個++errors++引數,表示遇到編碼錯誤後怎麼處理,最簡單的方法就是忽略

f = open('code_error', 'r', encoding='gbk', errors='ignore')
寫檔案
讀檔案和寫檔案是一樣的,唯一的區別就是open()行數所傳的識別符號,』w』或』wb』表示寫文字檔案或者二進位制檔案

f = open('test.txt', 'w')

f.write('hello, python')

f.close()

你可以呼叫write()函式一直寫檔案,但必須使用f.close()函式關閉檔案。當我們寫檔案時,作業系統不會立刻把資料寫入磁碟,而是放到記憶體快取起來,空閒的時候再寫。忘記呼叫close()可能會使後面的資料丟失,所以還是用with比較保險

with

open('test.txt', 'w') as f:

f.write('hello, python')

要給檔案寫入指定編碼的資料,可以給write()函式傳入特定的encoding引數

總結:

基本操作 檔案操作

開啟檔案 f open yesterday r encoding utf 8 讀寫 f open yesterday w encoding utf 8 寫讀 f open yesterday a encoding utf 8 追加寫讀 f open yesterday wb 寫讀 二進位制檔案 vi...

java操作檔案

一.獲得控制台使用者輸入的資訊 獲得控制台使用者輸入的資訊 return throws ioexception public string getinputmessage throws ioexception.七.建立檔案 資料夾 1.建立資料夾 建立資料夾 param path 目錄 public...

node 操作檔案

node中提供了非同步和同步的方式,下面只使用非同步的方式去操作檔案,同步會堵塞執行緒,不建議使用 引入 fs var fs require fs 讀取檔案 fs.readfile d bianjiqi web.config function err,data 刪除檔案 fs.unlink d bi...