You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSV文件不存在时异常处理代码重复输出错误信息求助

问题分析与代码修正

嘿,我一眼就看出问题所在啦!你的代码里用了while True无限循环,但没有设置任何退出条件——当文件不存在时,每次触发异常后循环都会立刻重新执行,导致错误信息一直重复输出,根本停不下来。另外还有个小问题:import pandas as pd放在循环里完全没必要,模块只需要导入一次,反复导入纯粹是浪费资源。

下面给你几种不同场景的修正方案,你可以根据需求选择:

方案1:只尝试读取一次,失败即终止

如果你只是想尝试读取一次文件,失败后就结束程序,直接去掉无限循环就行:

import pandas as pd  # 把导入语句放在代码开头,只执行一次

try:
    df = pd.read_csv('C:/Users/User/Desktop/Coding/parsehubjsonfileeg/assd.csv')
    print(df)
except Exception as err:
    print("Uh oh, please send me this message: '{}'".format(err))

方案2:允许用户输入正确路径,直到读取成功

如果希望程序能持续尝试,直到用户提供有效的文件路径,可以让用户手动输入路径,成功读取后退出循环:

import pandas as pd

while True:
    file_path = input("请输入CSV文件的完整路径:")
    try:
        df = pd.read_csv(file_path)
        print("文件读取成功!内容如下:")
        print(df)
        break  # 读取成功后立即退出循环
    except Exception as err:
        print(f"读取失败:'{err}',请重新输入正确的路径。")

方案3:限制重试次数,避免无限循环

要是你想自动重试几次但又不想无限循环,可以设置最大尝试次数:

import pandas as pd

max_retries = 3  # 设置最大重试次数
current_try = 0

while current_try < max_retries:
    current_try += 1
    try:
        df = pd.read_csv('C:/Users/User/Desktop/Coding/parsehubjsonfileeg/assd.csv')
        print(df)
        break  # 成功读取就退出循环
    except Exception as err:
        print(f"第{current_try}次尝试失败:'{err}'")
        if current_try == max_retries:
            print("已达到最大重试次数,程序终止。")

内容的提问来源于stack exchange,提问作者Nedisha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 14:47:41