在执行文件的过程中模拟读取文件文件不存在的情况,但是到达报错的地方转而执行另一个(copy.py)文件,这个是怎么回事?
源文件代码如下:
# rt.py
"""
使用r模式的时候,如果文件不存在则直接报错,文件存在,文件指针在文件开头
"""
file_name = 'data/user.txt'
print("一下全部读完,全部打印".center(79,'-'))
with open(file_name, mode='rt', encoding='utf-8') as f:
res = f.read()
print(res.strip())
print("一下全部读完,分行打印".center(79,'-'))
with open(file_name, mode='rt', encoding='utf-8') as f:
for line in f:
print(line.strip())
print("分行读完,打印成列表".center(79,'-'))
with open(file_name, mode='rt', encoding='utf-8') as f:
res = f.readlines()
print(res)
print("分行读完,最后打印内容".center(79,'-'))
with open(file_name, mode='rt', encoding='utf-8') as f:
while 1:
res = f.readline()
print(res.strip())
if not res:
break
# copy.py
old_path = input("请输入原文件的路径>>>").strip()
new_path = input("请输入新文件的路径>>>").strip()
with open(fr'{old_path}', mode='rb')as f1,\
open(fr'{new_path}', mode='wb') as f2:
while 1:
res = f1.read(1024)
f2.write(res)
if not res:
break
文件的结构如图:
此时user.txt这个文件不在data里面。
运行结果及报错内容
----------------------------------一下全部读完,全部打印----------------------------------
请输入原文件的路径>>>
不直接报错而是转向执行copy.py。
我的解答思路和尝试过的方法
当文件uer.txt放到data目录中时,一切正常。
我想要达到的结果
就是这个为什么会执行其他的文件?