w模式我們說是用來創(chuàng)建新文件的,那它的應(yīng)用場景在哪呢?
其實你疆場都在用這個模式,只是你自己不知道而已。
就是我們常用的ctrl+c、ctrl+v。
我把一個文件復(fù)制一下,然后到另一個路徑粘貼進(jìn)去。這個拷貝的過程你仔細(xì)思考一下,是怎么實現(xiàn)的。
其實拷貝功能很簡單,就是把原來文件的內(nèi)容讀出來,然后寫到一個新文件里去。
不管你是拷貝文本文件,還是視頻或者圖片,本質(zhì)都是一樣的。
現(xiàn)在我們只學(xué)了文本文件,我們就以拷貝文本文件為例。
假設(shè)我有一個需求,我要把這個date文件夾下的user.txt拷貝一份,拷貝到外面學(xué)習(xí)文件那層去。并且名字我改成user(副本).txt。
首先要讀取原文件內(nèi)容對吧。
with open(fr'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f1, \
open('user副本.txt', mode='wt', encoding='utf-8') as f2:
現(xiàn)在我們要把f1的內(nèi)容讀取出來。
with open(fr'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f1, \
open('user副本.txt', mode='wt', encoding='utf-8') as f2:
res = f1.read()
f2.write(res)
現(xiàn)在來運行一下。
學(xué)習(xí)文件里面就多了一個user副本.txt的文件。
如果我們要把這個程序做成一個拷貝工具,就不能把路徑寫死了,得讓用戶自己輸入文件路徑。
讓用戶輸入還是input功能。
old_path = input('請輸入原文件路徑').strip()
new_path = input('請輸入新文件路徑').strip()
with open(fr'{old_path}', mode='rt', encoding='utf-8') as f1, \
open(fr'{new_path}', mode='wt', encoding='utf-8') as f2:
res = f1.read()
f2.write(res)
然后我們來運行看下。
這樣學(xué)習(xí)文件文件夾下的user_date(副本).txt文件也拷貝過來了。
當(dāng)然這個程序現(xiàn)在只能針對文本文件,等我們后面學(xué)了b模式之后你就可以實現(xiàn)圖片和視頻的拷貝功能了。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 拷貝功能