IO 文件讀取
'''
打開文件(讀取)練習(xí)辨液。#尤其要注意編碼
'''
file = open('reame.txt','r',encoding = 'utf-8')
a = file.read()
print(a)
file.close()
'''
r+是r模式的拓展,既包括讀也包括寫,用r+模式打開文件肖卧。
可以在讀取以后在用write進(jìn)行追加書寫內(nèi)容。
如果只是用r模式讀取掸鹅,再使用write會(huì)出錯(cuò)塞帐。
r+模式如果讀取不存在的文件會(huì)出錯(cuò),也不會(huì)直接創(chuàng)建文件巍沙。
'''
file2 = open('reame.txt','r+',encoding = 'utf-8')
a2 = file2.read()
file2.write('read+')
print(a2)
file.close()
#IO,w練習(xí)
file = open('reame.txt','w',encoding = 'utf-8')
#定義一個(gè)變量為打開路徑里名字為reame.txt文件葵姥,w模式,編碼模式為utf-8
file.write('233')
#寫入字符串233
file.close()
print('='*25)
IO,w+練習(xí)
'''
w模式下是無法使用read方法的句携,w+模式可以榔幸,與r+情況類似。
'''
filew = open('reame.txt','w+',encoding = 'utf-8')
#定義一個(gè)變量為打開路徑里名字為reame.txt文件矮嫉,w+模式削咆,編碼模式為utf-8
filew.write('write+')#寫入字符串
filew.seek(0)#指針調(diào)整到第0字節(jié)開始。
print(filew.read())#讀取該文件
filew.close()
print('='*25)
IO,a練習(xí)
a模式蠢笋,即是append拨齐,意思是追加。
app = open('reame.txt','a',encoding = 'utf-8')
#定義一個(gè)變量為打開路徑里名字為reame.txt文件挺尿,a模式奏黑,編碼模式為utf-8
app.write('\n666a')
#寫入換行符字符串666
app.close()
print('='*25)
IO,a+練習(xí)
a+模式炊邦,即是append,意思是追加熟史。
'''
與W+模式不同的是馁害,如果文件內(nèi)容本存在,輸入指針會(huì)跳到內(nèi)容末尾蹂匹。
最重要的是append模式不會(huì)出現(xiàn)文件覆蓋的情況
'''
app = open('reame.txt','a+',encoding = 'utf-8')
#定義一個(gè)變量為打開路徑里名字為reame.txt文件碘菜,a+模式,編碼模式為utf-8
app.write('\nappend+')
#寫入換行符字符串a(chǎn)ppend+
app.seek(0)#指針調(diào)整到第0字節(jié)開始限寞。
a = app.read()
print(a)
app.close()
print('='*25)
IO忍啸,進(jìn)階的一些運(yùn)用
'''
文件內(nèi)容的拷貝
'''
#先用r模式讀取一個(gè)文件的內(nèi)容
file = open('reame.txt','r',encoding = 'utf-8')
content = file.read()#讀取文件內(nèi)容到內(nèi)存并用變量指向它
print(content)#打印內(nèi)存中的內(nèi)容
print('='*25)
file2 = open('reame2.txt','w+',encoding = 'utf-8')#用w+模式創(chuàng)建新文件
content2 = file2.write(content)#寫入之前的內(nèi)容
file2.seek(0)#調(diào)整指針位置
print('='*25)
print(file2.read())#打印新文本的內(nèi)容
file.close()
'''
rb和wb模式的一些應(yīng)用,復(fù)制圖片
因?yàn)榉俏谋疚募闹玻ǔJ且远M(jìn)制進(jìn)行保存的计雌,通常的模式并不合適。
'''
#先用rb模式讀取一個(gè)圖片的內(nèi)容
pain = open('HKfb5WV.png','rb')#注意這里不需要寫入解碼方式玫霎,保留二進(jìn)制凿滤,否則出錯(cuò)
temp = pain.read()#讀取圖片,并賦值到一個(gè)變量上
painw = open('HKfb5WV2.png','wb')#用wb模式讀取該圖片,由于該文件本沒有庶近,所以會(huì)創(chuàng)建
temp2 = painw.write(temp)#寫入圖片內(nèi)容
pain.close()
print('='*25)
'''
用rb模式讀取文字的二進(jìn)制編碼
'''
filerb = open('文字.txt','rb')#用rb模式讀取utf-8編碼的漢字翁脆,得到其文字的二進(jìn)制編碼
temprb = filerb.read()#賦值到一個(gè)變量上
print (temprb)#將其打印出來
filerb.close()
# '''
# 打印出來的效果
# b'\xe9\x98\xbf\xe9\x98\xae\xe7\x9a\x84\xe7\x8c\xaa\xe7\xaa\x81\xe7\x8c\x9b\xe8\x
# bf\x9b\xef\xbc\x88\xe4\xb8\x80\xe5\xbe\x80\xe6\x97\xa0\xe5\x89\x8d\xef\xbc\x89'
# '''
filewb = open('文字2.txt','wb')#用wb模式
tempde = temprb.decode('utf-8')#將以上那段二進(jìn)制代碼解碼成utf-8
print (tempde)#將其解碼結(jié)果打印出來
filewb.close()