在 Python if 语句中使用 break

Using break in Python if statement

我遇到了初学者的错误,我看不出哪里出错了。

如果命令行参数[0] 为空,我将尝试中断程序。

我在 macports 上 运行 python。

import sys

script = sys.argv[0]
ip = sys.argv[1]
port = sys.argv[2]

if script is None:
    print 'script argv is: ' + script
    break

print "[+] The script name is: " + script
print "[+] The IP is: " +IP+" and the port is: " +port

我一直收到这个错误。

mars13:python beebs$ python sys.py
  File "sys.py", line 9
    break
SyntaxError: 'break' outside loop

第9行指的是break。

break只能在whilefor循环中使用;您正在尝试在 if 语句中使用 in。

要提前退出脚本,请使用 sys.exit() function

注意 sys.argv[0] 总是一个字符串(在某些情况下它可以是一个 字符串),所以 if script is None总是 会是错误的。对于您的脚本,它将设置为 'sys.py'.

您的脚本不应与 Python 标准库模块同名;你将你的命名为 sys.py,只是因为该模块是内置的并且不需要从单独的文件加载,所以你可以不用它,所以在 这种特定情况下 你很幸运,没有对导入造成任何问题。但是,在一般情况下,您最终会遇到导入错误,因为您的脚本将被导入。