这个python片段有什么问题?

Sea*_*oob -4 python

script.py:-

    try:
        command_line = sys.argv[1].strip()
    except IndexError:
        print "\n***PLEASE READ THE HEADER NOTE FOR RUNNING THIS PROGRAM***\n"
        exit(1)

    if command_line != "run" or command_line != "fullrun":
        print "\n***WRONG INPUT, PLEASE READ THE HEADER NOTE FOR RUNNING THIS\
 PROGRAM***\n"
        exit(1)
Run Code Online (Sandbox Code Playgroud)

输出: -

$script.py run

***WRONG INPUT, PLEASE READ THE HEADER NOTE FOR RUNNING THIS PROGRAM***
Run Code Online (Sandbox Code Playgroud)

比较或条件有什么问题?

Mar*_*ers 5

你的布尔逻辑错了.用途and:

if command_line != "run" and command_line != "fullrun":
Run Code Online (Sandbox Code Playgroud)

您说如果用户没有输入run 他们没有输入fullrun,则命令错误.但是,如果我进入,run我没有进入fullrun,反之亦然,使两个条件中的一个始终为真.

您可能想要使用not in和设置:

if command_line not in {"run", "fullrun"}:
Run Code Online (Sandbox Code Playgroud)

这更具可读性.