Python.IO之簡(jiǎn)易的文件操作

IO 文件讀取

'''
打開(kāi)文件(讀取)練習(xí)。#尤其要注意編碼
'''

file = open('reame.txt','r',encoding = 'utf-8')
a = file.read()

print(a)
file.close()

'''
r+是r模式的拓展,既包括讀也包括寫(xiě),用r+模式打開(kāi)文件。
可以在讀取以后在用write進(jìn)行追加書(shū)寫(xiě)內(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è)變量為打開(kāi)路徑里名字為reame.txt文件,w模式,編碼模式為utf-8
file.write('233')
#寫(xiě)入字符串233
file.close()
print('='*25)

IO,w+練習(xí)

'''
w模式下是無(wú)法使用read方法的,w+模式可以,與r+情況類似。
'''

filew = open('reame.txt','w+',encoding = 'utf-8')
#定義一個(gè)變量為打開(kāi)路徑里名字為reame.txt文件,w+模式,編碼模式為utf-8
filew.write('write+')#寫(xiě)入字符串
filew.seek(0)#指針調(diào)整到第0字節(jié)開(kāi)始。
print(filew.read())#讀取該文件
filew.close()
print('='*25)

IO,a練習(xí)

a模式,即是append,意思是追加。

app = open('reame.txt','a',encoding = 'utf-8')
#定義一個(gè)變量為打開(kāi)路徑里名字為reame.txt文件,a模式,編碼模式為utf-8
app.write('\n666a')
#寫(xiě)入換行符字符串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è)變量為打開(kāi)路徑里名字為reame.txt文件,a+模式,編碼模式為utf-8
app.write('\nappend+')
#寫(xiě)入換行符字符串a(chǎn)ppend+
app.seek(0)#指針調(diào)整到第0字節(jié)開(kāi)始。
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)#寫(xiě)入之前的內(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')#注意這里不需要寫(xiě)入解碼方式,保留二進(jìn)制,否則出錯(cuò)
temp = pain.read()#讀取圖片,并賦值到一個(gè)變量上
painw = open('HKfb5WV2.png','wb')#用wb模式讀取該圖片,由于該文件本沒(méi)有,所以會(huì)創(chuàng)建
temp2 = painw.write(temp)#寫(xiě)入圖片內(nèi)容
pain.close()
print('='*25)

'''
用rb模式讀取文字的二進(jìn)制編碼
'''

filerb = open('文字.txt','rb')#用rb模式讀取utf-8編碼的漢字,得到其文字的二進(jìn)制編碼
temprb = filerb.read()#賦值到一個(gè)變量上
print (temprb)#將其打印出來(lái)
filerb.close()
# '''
# 打印出來(lái)的效果
# 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é)果打印出來(lái)
filewb.close()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 在python中有os模塊(py文件),與操作系統(tǒng)有關(guān)的模塊這里可以完成文件的操作。使用模塊的方式:1、導(dǎo)入2、使...
    NataliaTsunako閱讀 242評(píng)論 0 1
  • linux資料總章2.1 1.0寫(xiě)的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,219評(píng)論 2 33
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語(yǔ)言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲(chóng)de夢(mèng)閱讀 99,566評(píng)論 9 467
  • 準(zhǔn)備食材: 米飯一碗、雞蛋兩個(gè)、火腿腸、蒜苗幾根、蔥花(可以根據(jù)自己口味是否需要添加,比如玉米、青豆、胡蘿卜、卷心...
    飄香有約閱讀 392評(píng)論 0 1
  • 這一年,我初中畢業(yè)。 來(lái)到這所學(xué)校,第一天居然迷路了。好吧!我承認(rèn)我是路癡。 我還記得我第一天說(shuō)的那句話,你還有她...
    陳小逗閱讀 467評(píng)論 0 1