如何组合python字符串和int?

2024-10-02 18:26:03 发布

您现在位置:Python中文网/ 问答频道 /正文

作为学习基本python的一种方法,我在一个小工具箱上工作了一段时间。这个工具箱的一部分是遵循这个解释的代码。这是一个基本的网络枚举脚本,只需ping本地子网中的所有ip地址。不过,我有一个问题,实现了几件。 首先是代码

ip1=raw_input()

if ip1 == None:
    ip="192.168.0.x"
else:
    ip=ip1

ipend="1"

while ipend != 255:
    ip.replace("x", ipend) 

    attempt=subprocess.Popen(["ping.exe", ip], stdout=subprocess.PIPE).communicate()[0]

    if ("unreachable" in attempt):
        pass
    else:
        print "The host at ", ip, "is UP!"

    ipend += 1

if ipend == "255":
    subprocess.stop
        raw_input("Thank you for using PTK. Please press enter to exit.")

enum()

所以我的第一个问题,我相信是在我的结构更换函数,我正在尝试将一个int和一个str连接起来,因此它似乎无法创建、ping和打印正确的ip。我不确定将整个字符串转换为浮点int是否可行,不过这是我在玩弄的想法。如前所述,我对python非常基础,正在学习,所以请原谅我,如果这是一个简单的解决愚蠢的问题。你知道吗


Tags: 方法代码ip网络inputrawif工具箱
1条回答
网友
1楼 · 发布于 2024-10-02 18:26:03

这条线实际上没有任何作用。你需要把结果分配给某些东西。你知道吗

ip.replace("x", ipend) 

ipend是一个字符串,递增字符串将不起作用。在replace函数中将其设为int并转换为str。你知道吗

 ipend += 1

如果可以的话,通常最好使用for循环,这样可以避免混乱和创建无限循环。你知道吗

for ipend in range(1,256): #Range won't actually give you the last number here.
    #Do stuff

相关问题 更多 >