Loops python3端口扫描仪外部变量

Loops python3端口扫描仪外部变量,loops,python-3.x,while-loop,Loops,Python 3.x,While Loop,在用户在python3的输入字段中设置ip后,我正在扫描端口范围。这很管用,但看起来不太专业。我有一个for循环在一段时间内,并在那里尝试。我怎样才能写得更优雅,而不让外辈得到突破点呢?谢谢 代码如下所示: s = socket.socket() class outtervar(): connected=0 while(test.outtervar==0): ip = getFromInputField() for x in range(100):

在用户在python3的输入字段中设置ip后,我正在扫描端口范围。这很管用,但看起来不太专业。我有一个for循环在一段时间内,并在那里尝试。我怎样才能写得更优雅,而不让外辈得到突破点呢?谢谢

代码如下所示:

s = socket.socket()

class outtervar():
    connected=0

while(test.outtervar==0):
    ip = getFromInputField()
    for x in range(100): 
        try:
            s.connect((ip, port + x))
            outtervar.connected=1
            break
        except socket.error as e:
            print("Cannot connect")
            print(e)
            outtervar.connected=0

您可以使用一个成功返回的函数:

def connect(s):
    while True:
        ip = getFromInputField()
        for x in range(100): 
            try:
                s.connect((ip, port + x))
                return
            except socket.error as e:
                print("Cannot connect")
                print(e)

s = socket.socket()                
connect(s)

好主意!解决了我的问题,因为我想把它放在课堂上:)谢谢!真是太好了。顺便说一句,如果它解决了你的问题,你可以给出一个答案。啊,我现在按下了绿色复选框。谢谢你,迈克!