ecplice中class.forname一直报错_Python怎么把文件内容读取出来,怎么把内容写入文件中
Python open() 方法用于打開一個文件,并返回文件對象,在對文件進行處理過程都需要使用到這個函數,如果該文件無法被打開,會拋出 OSError的錯誤。
完整的語法格式為:
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
參數說明:
- file: 必需,文件路徑(相對或者絕對路徑)。
- mode: 可選,文件打開模式
- buffering: 設置緩沖
- encoding: 一般使用utf8
- errors: 報錯級別
- newline: 區分換行符
- closefd: 傳入的file參數類型
讀文件
要以讀文件的模式打開一個文件對象,使用Python內置的open()函數,傳入文件名和打開模式。讀文件的打開模式可以不傳,默認就是mode='r'。
./ 當前目錄(當前文件);../ 上級目錄(上級文件)。
打開模式'r'表示讀,這樣,我們就成功地打開了一個文件。
如果文件不存在,open()函數就會拋出一個IOError的錯誤,并且給出錯誤碼和詳細的信息告訴你文件不存在。由于我要打開的文件存在,所以不會報錯。
還有一個問題如果內容中有中文用f = open(path,'r')去讀文件又會報編碼錯誤。所以正確的方法傳三個參數最好:傳入文件名、打開模式和編碼參數。
編碼(encoding)推薦utf-8(也可以寫成utf8)這樣無論中文、英文或者混合的文件都可以讀。其中打開模式mode=可以不寫,直接參數。因為第一參數文件名必須,打開模式是第二參數,編碼是第四參數所以不能省略。
如果要讀取圖片或者音頻文件,打開模式就用'rb',b代表二進制。
讀取文件怎么操作內容
- read():一次性讀取文件的全部內容
- readline():每次讀取一行內容
- readlines():一次讀取所有內容并按行返回列表
read()
如果文件很小,read()一次性讀取最方便。
輸出結果
如果文件有10G,內存就爆了,所以,要保險起見,可以反復調用read(size)方法,每次最多讀取size個字節的內容。
文件的內容一部分
read(size)
輸出結果
readline()可以每次讀取一行內容
輸出結果:空行也算一行
readlines():一次讀取所有內容并按行返回列表
輸出結果
可以用for...in...來循環取內容。
既然是列表就可以用切片
寫文件
寫文件和讀文件是一樣的,唯一區別是調用open()函數時,文件打開模式把'r'換成'w'或者'a',表示寫文本文件。
無論'w'或者'a',如果該文件不存在,創建新文件。
區別就是:
'w',如果該文件已存在則打開文件,并從開頭開始編輯,即原有內容會被刪除。
第一次寫入內容,w.txt文件不存在,自動幫你創建w.txt。
第二次寫入內容,w.txt已經存在,就把第一次寫入的內容刪掉,再把第二次內容寫入。
'a',打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。
第一次寫入內容,a.txt文件不存在,自動幫你創建a.txt。
第二次寫入內容,a.txt已經存在,直接在第一次寫入內容的后面把第二次內容寫入。
close(),無論是讀還是寫文件都要打開文件,打開就要關閉文件,要不然一直打開不關閉,內存頂不住。所以打開就要要關閉文件。
每次都這么寫實在太繁瑣,所以,Python引入了with語句來自動幫我們調用close()方法。注意縮進。
在Python中,文件讀寫是通過open()函數打開的文件對象完成的。使用with語句操作文件IO是個好習慣。
mode模式主要幾種:
- +:打開一個文件進行更新(可讀可寫)。
- r:以只讀方式打開文件。默認模式
- b:二進制格式打開
- w:打開一個文件只用于寫入。
- a:打開一個文件用于追加。
需要二進制就后面rb、wb、ab,其實加號(r+、w+、a+)我試了跟沒加效果沒有多大區別。總之可以組合。
寫一個index.html
生成文件中的html代碼
瀏覽器效果
讀寫文件內容的基礎差不多就是這么多,往后需要多練、多寫來加深記憶。
?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的ecplice中class.forname一直报错_Python怎么把文件内容读取出来,怎么把内容写入文件中的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: _Linux系统编程—信号集操作函数
- 下一篇: python数据分析_上海交大学姐带你1