w模式我们说是用来创建新文件的,那它的应用场景在哪呢?
其实你疆场都在用这个模式,只是你自己不知道而已。
就是我们常用的ctrl+c、ctrl+v。
我把一个文件复制一下,然后到另一个路径粘贴进去。这个拷贝的过程你仔细思考一下,是怎么实现的。
其实拷贝功能很简单,就是把原来文件的内容读出来,然后写到一个新文件里去。
不管你是拷贝文本文件,还是视频或者图片,本质都是一样的。
现在我们只学了文本文件,我们就以拷贝文本文件为例。
假设我有一个需求,我要把这个date文件夹下的user.txt拷贝一份,拷贝到外面学习文件那层去。并且名字我改成user(副本).txt。
首先要读取原文件内容对吧。
with open(fr'G:\PythonProject\学习\学习文件\date\user.txt', mode='rt', encoding='utf-8') as f1, \
open('user副本.txt', mode='wt', encoding='utf-8') as f2:
现在我们要把f1的内容读取出来。
with open(fr'G:\PythonProject\学习\学习文件\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)
现在来运行一下。
学习文件里面就多了一个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)
然后我们来运行看下。
这样学习文件文件夹下的user_date(副本).txt文件也拷贝过来了。
当然这个程序现在只能针对文本文件,等我们后面学了b模式之后你就可以实现图片和视频的拷贝功能了。
未经允许不得转载:445IT之家 » Python 拷贝功能