python基礎(chǔ)之文件的備份以及定位
發(fā)布日期:2021-12-20 19:25 | 文章來源:源碼中國
小型文件備份
# 文件的備份 def copyFile(): # 接收用戶輸入的文件名 old_file=input('請輸入要備份的文件名:') file_list=old_file.split('.') # 構(gòu)造新的文件名.加上備份的后綴 new_file=file_list[0]+'_備份.'+file_list[1] old_f=open(old_file,'r') #打開需要備份的文件 new_f=open(new_file,'w') #以寫的模式去打開新文件,不存在則創(chuàng)建 content=old_f.read() #將文件內(nèi)容讀取出來 new_f.write(content) #將讀取的內(nèi)容寫入備份文件 old_f.close() new_f.close() pass copyFile()
備份大型文件
# 文件的備份 def copyFile(): # 接收用戶輸入的文件名 old_file=input('請輸入要備份的文件名:') file_list=old_file.split('.') # 構(gòu)造新的文件名.加上備份的后綴 new_file=file_list[0]+'_備份.'+file_list[1] try: # 監(jiān)視iu處理邏輯 with open(old_file,'r') as old_f,open(new_file,'w')as new_f: while True: content=old_f.read(1024) #一次處理1024字節(jié) new_f.write(content) if len(content)<1024: break except Exception as msg: print(msg) pass copyFile()
# tell 返回指針當(dāng)前所在的位置 with open('Test.txt','r') as f: print(f.read(3)) print(f.tell()) #讀取三個字,每個漢字占兩個字節(jié),光標(biāo)當(dāng)前位置為6 print(f.read(2)) print(f.tell()) #共讀取五個字,光標(biāo)位置為10
# truncate 可以對源文件進(jìn)行截取操作 fobjB=open('Test.txt','r') print(fobjB.read()) fobjB.close() print('截取之后的數(shù)據(jù)') fobjA=open('Test.txt','r+') fobjA.truncate(15) print(fobjA.read())
# seek 控制光標(biāo)所在的位置 with open('Test_備份.txt ','rb') as f: data=f.read(2)#按照二進(jìn)制法則讀取 兩個字符即一個漢字 print(data.decode('gbk')) f.seek(-2,1) #相當(dāng)于光標(biāo)又到了0的位置 -代表往回便宜 1代表從當(dāng)前位置開始 2代表從末尾開始讀 print(f.read(4).decode('gbk')) f.seek(-6,2) print(f.read(2).decode('gbk')) #從末尾開始向前偏移6個 讀取兩個字節(jié)
對于用r這種模式打開文件 在文本文件中,沒有使用二進(jìn)制的選項打開文件 只允許從文件你的開頭計算相對位置,從文件尾部計算或者當(dāng)前計算的話就會引發(fā)異常
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注本站的更多內(nèi)容!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
相關(guān)文章