現(xiàn)在工作上主要用的語言是java,java在企業(yè)級的應(yīng)用上能夠發(fā)揮很好的用途,但有時候要做一個小功能時,比如批量更新文件,抓取網(wǎng)頁等,這時候用java就顯得太笨重了。因此就學(xué)習(xí)了python這門腳本語言。
這篇隨筆主要是講述python怎么處理文本文件,順便鞏固下python的一些基本知識。
好了,開始吧......
說到處理文件,不得不說下python的內(nèi)置函數(shù) open
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
函數(shù)定義:打開一個文件,并返回相應(yīng)的文件Object,如果指定的文件不能打開,那么 OSError 將會拋出
其中,file參數(shù)表示需要打開的文件名稱,
mode是打開模式,
buffering用來控制文件的緩沖,默認(rèn)值為0,表示不緩沖,設(shè)置為1就會有緩沖,
encoding 為文件編碼,默認(rèn)為系統(tǒng)編碼,
errors 是一個可選參數(shù),用來指定當(dāng)文件在編碼和解碼過程中發(fā)生錯誤將怎么處理,注意,這個錯誤處理不會應(yīng)用在mode為二進(jìn)制的模式('b')中,
newline 用來控制通用換行符的工作模式(只工作在文本模式中)
mode模式可以有以下幾種:
| 字符 | 意義 |
|---|---|
| 'r' | 以只讀方式打開 (default) |
| 'w' | 以寫方式打開,首先會刪掉文件內(nèi)容 |
| 'x' | 當(dāng)文件已存在時,已獨(dú)占方式打開 |
| 'a' | 以寫方式打開,當(dāng)文件存在時,會在內(nèi)容末尾添加內(nèi)容 |
| 'b' | 二進(jìn)制 |
| 't' | 文本模式 (default) |
| '+' | 更新一個磁盤文件 (reading and writing) |
| 'U' | universal newlines mode (已廢棄) |
一般情況下,使用open()函數(shù)時只需要調(diào)入文件名參數(shù),而不添加其它任何參數(shù),就可以獲取文件內(nèi)容。默認(rèn)的模式是讀模式,如果讀取特殊文件(例如視頻或者圖片文件),那么必須使用‘b’模式。
下面是處理文本的一個例子展示:
1 # encoding=utf-8 2 file_path = "d:/test.txt" 3 file = open(file_path) 4 5 #####1. read()##### 6 7 PRint(file.read()) 8 9 #####2. readline()#####10 11 line = file.readline()12 while line:13 print(line)14 line = file.readline()15 16 #####2. readlines()#####17 18 for line in file.readlines():19 print(line)
20 file.close()
上面列出來3種讀取file的方式: read()、 readline()、 readlines()
ok,處理文件的例子就到這!
新聞熱點(diǎn)
疑難解答
圖片精選