Can';t在Python中将字符串添加到字符串类型变量
我想用python制作一个非常简单的网络扫描仪,我写了以下内容:Can';t在Python中将字符串添加到字符串类型变量,python,string,variables,add,Python,String,Variables,Add,我想用python制作一个非常简单的网络扫描仪,我写了以下内容: import subprocess ip_range = input("Enter ip range:") start_ip = input("Enter start ip:") end_ip = input("Enter end ip:") result = "Result:" for ping in range(int(start_ip), int(end_ip)): ip = ip_range + str(ping)
import subprocess
ip_range = input("Enter ip range:")
start_ip = input("Enter start ip:")
end_ip = input("Enter end ip:")
result = "Result:"
for ping in range(int(start_ip), int(end_ip)):
ip = ip_range + str(ping)
connect = subprocess.call(["ping", "-c1",ip])
if connect == 0:
result += "---"
result += "Ping to ",ip,"was OK"
result += "---"
else:
result + "Couldn't ping to " + str(ip)
result + "---"
pass
print(result)
除了一件事外,所有这些都正常工作。
在这部分
result + "Couldn't ping to " + str(ip)
result + "---"
结果与此代码无关,我的意思是它只是写入结果。
result+“无法ping到”+str(ip)
是一个表达式,而不是一个语句。您不会将该值指定给结果
。尝试将+
更改为+=
。这将在result
中存储值result+“无法ping到”+str(ip)
,仔细查看if
语句的两个分支之间的差异。您使用了两个不同的运算符。结果+=”无法ping到“+str(ip)结果+=”--“我尝试+=”而不是“+”,但Answare将替换为最后一个值,并且不会相加。@HoseinAzimi我不理解您的评论。你能更明确地说明你正在使用的代码和你期望的输出吗?我想让用户输入一个ip范围,然后用脚本去ping ip,知道什么ip在上升,什么ip在下降,然后将结果添加到字符串变量,例如:ip_范围:192.168.1.100-192.168.1.110 ping所有这些都正常结果:-ping到192.168.1.100正常------ping到192.168.1.101正常------等等。