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)
比较或条件有什么问题?
你的布尔逻辑错了.用途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)
这更具可读性.