helmer_hanssen 2022-11-02 22:16 采纳率: 53.8%
浏览 9
已结题

python文件执行的问题

在执行文件的过程中模拟读取文件文件不存在的情况,但是到达报错的地方转而执行另一个(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

文件的结构如图:

img


此时user.txt这个文件不在data里面。

运行结果及报错内容
----------------------------------一下全部读完,全部打印----------------------------------
请输入原文件的路径>>>

不直接报错而是转向执行copy.py。

我的解答思路和尝试过的方法

当文件uer.txt放到data目录中时,一切正常。

我想要达到的结果

就是这个为什么会执行其他的文件?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月10日
    • 创建了问题 11月2日

    悬赏问题

    • ¥30 模拟电路 logisim
    • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
    • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
    • ¥15 安装quartus II18.1时弹出此error,怎么解决?
    • ¥15 keil官网下载psn序列号在哪
    • ¥15 想用adb命令做一个通话软件,播放录音
    • ¥30 Pytorch深度学习服务器跑不通问题解决?
    • ¥15 部分客户订单定位有误的问题
    • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
    • ¥15 Bug traq 数据包 大概什么价