在Python if语句中使用break

时间:2015-03-30 15:37:38

标签: python if-statement break

我有一个初学者的错误,我无法看到我出错的地方。

如果命令行参数[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行是指休息。

1 个答案:

答案 0 :(得分:5)

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

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

请注意,sys.argv[0]始终是一个字符串(在某些情况下,它可以是字符串),因此if script is None 总是会变得虚假。对于您的脚本,它将设置为'sys.py'

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