當Python學到一定程度的時候,就要跟文件打交道了。到以后自己的寫程序,對文件的操作是非常頻繁的,因此學會對文件的操作也是Python學習的一項基礎任務。
f = open('test.txt','r'encoding='gbk') #用只讀形式打開文件,r是只寫,a是追加
#windows系統默認是gbk編碼,但如果你的文件是utf-8,則一定要設置成utf-8,否則會打不開
data = f.read() #讀取文件內容,并賦值給data變量
print(data)
f.close()
#打開后要記得關閉文件,否則內容不會瞬時保存,而且文件多了會影響程序的執行
python選擇題庫及答案。代碼片的第一行,一般將文件打開后都用一個變量來接收,便于在Python的IDLE中操作,本篇文章默認都是用變量 f 來接收打開后的文件。
f.readable()
: 判斷文件是否可讀,返回布爾值f.readline()
:只讀一行print(f.readlin(),end='')
#其中,end=’'表示去掉換行f = open('test.txt','w',encoding='gbk') #用只寫的方式打開文件
data = f.read()
print(data)
f.close()
#只寫方式讀取文件,文件存在,會把文件清空;文件不存在,會新建一個文件
f = open('test.txt','a',encoding='gbk')
f.write('窩拆\n') #\n表示換行
f.writelines('寫到最后了']) #writelines()是寫一個列表進去,但列表中元素必須字符串類型
f.close()
f = open('test.txt','a',encoding='gbk')
f.write('寫到文件最后了') #以追加的方式寫入,會默認追加到最后
f.close()
with open('test.txt','w',encoding='gbk') as f:f.write('不需要手動關閉文件了')
with open('test.txt','w',encoding='gbk') as fone:with open('test2.txt','r',encoding='gbk') as ftwo: #將test2作為源文件data = ftwo.read()fone.write(data)
以二進制形式打開文件對文件的處理比較方便,但有很多需要注意的編碼問題
f = open('test.txt','rb') #rb,rw的形式不能指定編碼
data = f.read() #讀出來的內容將會是一串二進制字節
print(data)
print(data.decode('gbk')) #用decode()將二進制字節解碼后就可以看到正常的內容了
f = open('test.txt','wb') #rb,rw的形式不能指定編碼
#f.write() #wb無法寫入字符串,只能寫入二進制格式
data1 = bytes('這是用bytes()轉化成二進制',encoding='gbk') #bytes函數必須指定編碼
f.write(data)
f.close()
f = open('test.txt','wb') #rb,rw的形式不能指定編碼
data = '這是用encode()轉化成二進制'.encode('utf-8')
f.write(data)
f.close()
f.closed():
判斷文件是否關閉f.encoding():
查看文件打開時的編碼f = open('test.txt','r+',encoding='utf-8',newline='')
#多了一個newline=''表示讀取文件中真正的換行符號
data = f.readlines() #讀取完整內容,包括換行符
print(data)
f = open('test.txt','r+',encoding='utf-8')
f.truncate(2)
#截取前10個字節的內容,前提是可寫的方式打開
#而r+,w+,a+,x+都表示可讀,并且可寫(慎用w+)
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态