'''
實(shí)現(xiàn)文本文件的復(fù)制####################################################
'''
# 分別以讀,寫方式 打開兩個(gè)文件,一個(gè)是源文件,一個(gè)目標(biāo)生成文件
file_r =open('data','r')#打開文件,正對(duì)不同的文件需要指定路徑和文件名,因?yàn)楝F(xiàn)在此文件就是當(dāng)前目錄C:\\Users\\12446\\Desktop\\a\a.png
file_w =open('data_bak','w')#讀取文件
file_w.readlines()#讀取文件按行去讀取
# 實(shí)現(xiàn)拷貝 操作
# 從源文件里讀取文件,讀一次,向目標(biāo)文件當(dāng)中寫入一次
while True:
content = file_r.read(10)#將讀取文件復(fù)制給一個(gè)變量
# 判斷是否讀取到了內(nèi)容
? ? if content !='':
# 讀取到內(nèi)容 ,將內(nèi)容 寫入
? ? ? ? file_w.write(content)
else:
print('拷貝 成功')
break
# 關(guān)閉文件
file_r.close()
file_w.close()
#######################################################################################
#批量拷貝文件夾中的文件####################################################################
import os
# C:\Users\12446\Desktop
# print(os.getcwd())
# 切換路徑,將路徑切換到桌面a文件
os.chdir('C:\\Users\\12446\\Desktop\\a')#其中有個(gè)\是未了轉(zhuǎn)義
# 獲取當(dāng)前路徑
# print(os.getcwd())
# 創(chuàng)建文件夾(目錄文件,在桌面上創(chuàng)建aaaa文件)
os.mkdir('C:\\Users\\12446\\Desktop\\aaaa')#此時(shí)會(huì)在左面上創(chuàng)建一個(gè)aaaa文件夾
# 獲取要拷貝文件夾中的所有文件名稱(因?yàn)楫?dāng)前程序執(zhí)行的路徑就是C:\\Users\\12446\\Desktop\\aaaa
# 可以用省略的方式直接寫.代替)
files = os.listdir('C:\\Users\\12446\\Desktop\\aaaa')
# print(files)
#循環(huán)遍歷獲取文件目錄中的所有文件名
for iin files:
# 獲取拷貝路徑,已經(jīng)修改寶貝文件名稱為原名+_bak.png
? ? copy_lj='C:\\Users\\12446\\Desktop\\aaaa\\'+i.replace('.png','_bak.png')
# print(copy_lj)
# 打開文件此時(shí)i就是對(duì)應(yīng)的文件名,正常寫法發(fā)應(yīng)該是C:\\Users\\12446\\Desktop\\aaaa\i
# 才對(duì),因?yàn)榍懊嬉呀?jīng)將程序執(zhí)行切換到了此路勁所以直接用i就可以了
? ? dakia =open(i,'rb')
#寫入文件
? ? xieru =open(copy_lj,'wb')
while True:
dakai_siz=dakia.read(1024 *1024)
if dakai_siz !=b'':#b‘’判斷文件是否讀取完,不同的操作形同可以用b去掉嘗試調(diào)試
#寫入文件
? ? ? ? ? ? xieru.write(dakai_siz)
else:
print(dakai_siz)
print(f'{i} 拷貝完成')
break
? ? dakia.close()
xieru.close()
#######################################################################################