启动线程时'Python SyntaxError:语法无效'

时间:2015-03-03 16:02:53

标签: python multithreading

使用Python线程时,我有一个奇怪的(但也可能是愚蠢的)问题。

我在Python中编写了一个简单的端口扫描程序,并希望它以异步方式扫描许多端口。但是,当我执行脚本时,会在这段代码的第二行抛出SyntaxError:

t = Thread(target=check_port, args=(target_host, int(target_port))
t.start()

怎么可能?我之前使用过这种结构,一切正常。

2 个答案:

答案 0 :(得分:1)

您错过了一个结束括号:

t = Thread(target=check_port, args=(target_host, int(target_port))
#         ^1                       ^2               ^3          ^^?

最后应该有三个关闭) parens,你只有两个。

如果没有丢失),逻辑行还没有结束,下一个物理行被视为Thread()调用的一部分,但语法无效。

答案 1 :(得分:0)

)缺失。

三个左括号,只有两个近括号。因此缺少一个结束括号。

t = Thread(target=check_port, args=(target_host, int(target_port)))