上一篇文章為:→3.5.2文件的打開與關(guān)閉
文件的讀寫
<1>寫數(shù)據(jù)(write)
使用write()可以完成向文件寫入數(shù)據(jù)
demo:
f = open('test.txt', 'w')
f.write('hello world, i am here!')
f.close()
運(yùn)行現(xiàn)象:

day07_python基礎(chǔ)-文件操作、綜合應(yīng)用-01.png
注意:
- 如果文件不存在那么創(chuàng)建,如果存在那么就先清空,然后寫入數(shù)據(jù)
<2>讀數(shù)據(jù)(read)
使用read(num)可以從文件中讀取數(shù)據(jù),num表示要從文件中讀取的數(shù)據(jù)的長(zhǎng)度(單位是字節(jié)),如果沒(méi)有傳入num,那么就表示讀取文件中所有的數(shù)據(jù)
demo:
f = open('test.txt', 'r')
content = f.read(5)
print(content)
print("-"*30)
content = f.read()
print(content)
f.close()
運(yùn)行現(xiàn)象:

day07_python基礎(chǔ)-文件操作、綜合應(yīng)用-02.png
注意:
- 如果open是打開一個(gè)文件,那么可以不用謝打開的模式,即只寫
open('test.txt') - 如果使用讀了多次,那么后面讀取的數(shù)據(jù)是從上次讀完后的位置開始的
<3>讀數(shù)據(jù)(readlines)
就像read沒(méi)有參數(shù)時(shí)一樣,readlines可以按照行的方式把整個(gè)文件中的內(nèi)容進(jìn)行一次性讀取,并且返回的是一個(gè)列表,其中每一行的數(shù)據(jù)為一個(gè)元素
#coding=utf-8
f = open('test.txt', 'r')
content = f.readlines()
print(type(content))
i=1
for temp in content:
print("%d:%s"%(i, temp))
i+=1
f.close()
運(yùn)行現(xiàn)象:

day07_python基礎(chǔ)-文件操作、綜合應(yīng)用-03.png
<4>讀數(shù)據(jù)(readline)
#coding=utf-8
f = open('test.txt', 'r')
content = f.readline()
print("1:%s"%content)
content = f.readline()
print("2:%s"%content)
f.close()

day07_python基礎(chǔ)-文件操作、綜合應(yīng)用-04.png
想一想:
如果一個(gè)文件很大,比如5G,試想應(yīng)該怎樣把文件的數(shù)據(jù)讀取到內(nèi)存然后進(jìn)行處理呢?