python基礎(chǔ)之文件的備份以及定位
小型文件備份
# 文件的備份 def copyFile(): # 接收用戶輸入的文件名 old_file=input('請(qǐng)輸入要備份的文件名:') 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('請(qǐng)輸入要備份的文件名:') 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()) #讀取三個(gè)字,每個(gè)漢字占兩個(gè)字節(jié),光標(biāo)當(dāng)前位置為6 print(f.read(2)) print(f.tell()) #共讀取五個(gè)字,光標(biāo)位置為10
# truncate 可以對(duì)源文件進(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)制法則讀取 兩個(gè)字符即一個(gè)漢字 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個(gè) 讀取兩個(gè)字節(jié)
對(duì)于用r這種模式打開文件 在文本文件中,沒有使用二進(jìn)制的選項(xiàng)打開文件 只允許從文件你的開頭計(jì)算相對(duì)位置,從文件尾部計(jì)算或者當(dāng)前計(jì)算的話就會(huì)引發(fā)異常
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Python+PyQt5實(shí)現(xiàn)自動(dòng)點(diǎn)擊神器
這篇文章主要為大家詳細(xì)介紹了如何利用Python和PyQt5實(shí)現(xiàn)自動(dòng)點(diǎn)擊神器,旨在解決重復(fù)性的點(diǎn)擊工作,解放雙手,具有及時(shí)性和準(zhǔn)確性,需要的可以參考下2024-01-01趣味Python實(shí)戰(zhàn)練習(xí)之自動(dòng)更換桌面壁紙腳本附源碼
讀萬卷書不如行萬里路,學(xué)的扎不扎實(shí)要通過實(shí)戰(zhàn)才能看出來,本篇文章手把手帶你編寫一個(gè)自動(dòng)更換桌面壁紙的腳本,代碼簡(jiǎn)潔而且短,相信你一定看得懂,大家可以在過程中查缺補(bǔ)漏,看看自己掌握程度怎么樣2021-10-10Python如何計(jì)算語句執(zhí)行時(shí)間
這篇文章主要介紹了Python如何計(jì)算語句執(zhí)行時(shí)間,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11Python深度學(xué)習(xí)albumentations數(shù)據(jù)增強(qiáng)庫
下面開始albumenations的正式介紹,在這里我強(qiáng)烈建議英語基礎(chǔ)還好的讀者去官方網(wǎng)站跟著教程一步步學(xué)習(xí),而這里的內(nèi)容主要是我自己的一個(gè)總結(jié)以及方便英語能力較弱的讀者學(xué)習(xí)2021-09-09python基礎(chǔ)學(xué)習(xí)之如何對(duì)元組各個(gè)元素進(jìn)行命名詳解
python的元祖和列表類似,不同之處在于元祖的元素不能修改,下面這篇文章主要給大家介紹了關(guān)于python基礎(chǔ)學(xué)習(xí)之如何對(duì)元組各個(gè)元素進(jìn)行命名的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-07-07在jupyter notebook中使用pytorch的方法
這篇文章主要介紹了在jupyter notebook中使用pytorch的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09