当参数不存在时显示错误消息

时间:2013-08-12 16:57:07

标签: python

我有一个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"

1 个答案:

答案 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而非仅打印错误。