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
相关产品推荐
相关产品推荐

