python基礎之文件的備份以及定位
更新時間:2021年10月24日 15:57:58 作者:qianqqqq_lu
這篇文章主要介紹了python文件的備份以及定位,實例分析了Python中返回一個返回值與多個返回值的方法,需要的朋友可以參考下
小型文件備份
# 文件的備份
def copyFile():
# 接收用戶輸入的文件名
old_file=input('請輸入要備份的文件名:')
file_list=old_file.split('.')
# 構造新的文件名.加上備份的后綴
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() #將文件內容讀取出來
new_f.write(content) #將讀取的內容寫入備份文件
old_f.close()
new_f.close()
pass
copyFile()


備份大型文件
# 文件的備份
def copyFile():
# 接收用戶輸入的文件名
old_file=input('請輸入要備份的文件名:')
file_list=old_file.split('.')
# 構造新的文件名.加上備份的后綴
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 返回指針當前所在的位置
with open('Test.txt','r') as f:
print(f.read(3))
print(f.tell()) #讀取三個字,每個漢字占兩個字節(jié),光標當前位置為6
print(f.read(2))
print(f.tell()) #共讀取五個字,光標位置為10

# truncate 可以對源文件進行截取操作
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 控制光標所在的位置
with open('Test_備份.txt ','rb') as f:
data=f.read(2) #按照二進制法則讀取 兩個字符即一個漢字
print(data.decode('gbk'))
f.seek(-2,1) #相當于光標又到了0的位置 -代表往回便宜 1代表從當前位置開始 2代表從末尾開始讀
print(f.read(4).decode('gbk'))
f.seek(-6,2)
print(f.read(2).decode('gbk')) #從末尾開始向前偏移6個 讀取兩個字節(jié)

對于用r這種模式打開文件 在文本文件中,沒有使用二進制的選項打開文件 只允許從文件你的開頭計算相對位置,從文件尾部計算或者當前計算的話就會引發(fā)異常
總結
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!
相關文章
Python中實現(xiàn)ipaddress網(wǎng)絡地址的處理
ipaddress庫提供了處理IPv4與IPv6網(wǎng)絡地址的類。這些類支持驗證,查找網(wǎng)絡上的地址和主機,以及其他常見的操作,本文就來介紹一下這些方法的使用,感興趣的一起來了解一下2021-06-06
Python?pygame派生精靈和精靈組創(chuàng)建敵機
這篇文章主要為大家介紹了Python?pygame派生精靈和精靈組創(chuàng)建敵機示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08
Python?Tkinter?Gui運行不卡頓(解決多線程解決界面卡死問題)
最近寫的Python代碼不知為何,總是執(zhí)行到一半卡住不動,所以下面這篇文章主要給大家介紹了關于Python?Tkinter?Gui運行不卡頓,解決多線程解決界面卡死問題的相關資料,需要的朋友可以參考下2023-02-02

