我有一个csv文件所在的目录。代码读取文件并根据文件中的数据创建直方图。
我已将其设为命令提示符代码,我可以在其中输入参数,代码将查看csv文件以查看我列出的参数是否存在。我试图使它在我拼错命令时出现错误消息。如果第一个参数拼写正确而第二个参数拼写不正确,则以下代码有效,但如果第一个参数拼写错误且第二个参数拼写错误,则不显示错误消息。怎么了?
示例:python untitled14.py“文件夹”周边是否不显示错误信息 但是python untitled14.py“文件夹”周边是否显示错误
for x in arguments:
found_match = False
for column in df:
os.chdir(directory)
if x.endswith(column):
found_match = True
#histogram code
continue
else:
pass
if found_match==False:
print files+" " + x + " does not exist"
答案 0 :(得分:1)
你的循环逻辑中有不必要的东西(以及其他一些有问题的东西)。例如,三行continue; else: pass
几乎没有任何内容。
最好的做法是重构代码以调用一个函数,如果所有参数都经过验证,它将返回True
。你没有为此提供足够的代码,所以我会用以下方法清理整个过程:
for x in arguments:
for column in df:
os.chdir(directory)
if x.endswith(column):
#histogram code
break
else:
print "{0} {1} does not exist".format(files,x)
break #or not, depending on what you want to do
如果for循环不 for/else
,这利用了很少使用的break
来执行某些操作 - 在您的情况下,这是一个错误。< / p>
如果您想真正使其可重复使用,则应raise
Exception
而非仅打印错误。