【发布时间】:2021-04-07 07:41:48
【问题描述】:
我只是想简单地覆盖我的程序中的一个错误,我已经使用了 try 和 except 函数。这是我的代码:
import csv
import sys
with open('fake.csv') as csvfile:
sched = csv.reader(csvfile, delimiter=',')
for row in sched:
a = row[1]
try:
if (a == sys.argv[1]):
print(row)
except Exception:
print("Sorry. Try again.")
这确实有效,但不是只打印一行,而是根据我的 csv 文件重新打印,该文件有 6 行,因此打印出来:
Sorry. Try again.
Sorry. Try again.
Sorry. Try again.
Sorry. Try again.
Sorry. Try again.
Sorry. Try again.
我知道这是因为它来自循环内,但这是由于 csv 文件需要成为循环才能打印出正确的结论。有什么方法可以只打印一行说“抱歉,当任何输入与 csv 中的任何内容都不匹配时再试一次。
提前致谢!
【问题讨论】:
-
请使用代码块编写代码,以便以等宽字体显示以提高可读性。另外请添加正确的缩进,因为代码在语法上不正确。
-
try/except 在这里似乎没有做任何有用的事情。我可以看到它捕获的唯一例外是命令行上没有提供任何参数。这一定是为了让你得到你得到的输出,在这种情况下,无论如何都没有编辑来打破循环是有用的。您应该尝试解决错误而不是忽略它们,因为无论您做什么,忽略它们都会使您的程序无法正常工作。
标签: python