通過(guò)open() 打開一個(gè)文件,獲取一個(gè)文件對(duì)象,然后對(duì)文件進(jìn)行讀寫操作
# 讀寫打開一個(gè)UTF-8編碼格式文件,如果文件不存在則創(chuàng)建
file= open(r'F:\1.txt', mode='w+', encoding='UTF-8')
# open()打開一個(gè)文件,返回一個(gè)文件對(duì)象
file.write('Hello!\nWoodman')? # 寫入文件
file.seek(0)? # 光標(biāo)移動(dòng)到文件開頭
file_content = file.read()? # 讀取整個(gè)文件內(nèi)容
print(file_content)
file.close() # 關(guān)閉文件
open() 函數(shù)參數(shù)說(shuō)明
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
file 文件的路徑,需要帶上文件名包括文件后綴(c:\\1.txt)
mode 打開的方式(r,w,a,x,b,t,r+,w+,a+,U)
buffering 緩沖的buffering大小, 0,就不會(huì)有寄存。1,寄存行。大于 1 的整數(shù),寄存區(qū)的緩沖大小。負(fù)值,寄存區(qū)的緩沖大小為系統(tǒng)默認(rèn)。encoding 文件的編碼格式(utf-8,GBK等)
常用文件的打開模式 ? ?r讀,w寫,a追加,每個(gè)模式后加入+號(hào)就變成可讀寫
文件讀取
file.read([size]):讀取文件(讀取size個(gè)字節(jié),默認(rèn)讀取全部)注意中文字符一個(gè)字為1個(gè)字節(jié)
file.readline()):讀取一行
file.readlines():讀取完整的文件,返回每一行所組成的列表
文件讀取后光標(biāo)停止在讀取結(jié)束的位置,file.seek(size) 將光標(biāo)指針移動(dòng)到文件的size位置。
文件寫入
file.write(str):將字符串寫入文件
file.writelines(lines):將多行文本寫入文件中,lines為字符串組成的列表或元組
文件對(duì)象的其他方法
file.seek(偏移量,[起始位置]): 用來(lái)移動(dòng)文件指針.
偏移量:單位:比特,可正可負(fù)
起始位置:0-文件頭部,默認(rèn)值;1-當(dāng)前位置;2-文件結(jié)尾
file.tell():返回一個(gè)整數(shù),表示當(dāng)前文件指針的位置(就是到文件頭的比特?cái)?shù))
file.close(): 關(guān)閉文件
with open("test.txt","wt")as out_file:
out_file.write("該文本會(huì)寫入到文件中\(zhòng)n看到我了吧!")
with open("test.txt","rt")as in_file:
text = in_file.read()
print(text)