Python 2.7 接受ip地址作为用户的输入
这是节目的第一部分。接受用户的IP地址作为输入时出现问题。 执行后,我得到以下错误Python 2.7 接受ip地址作为用户的输入,python-2.7,networking,ip,ip-address,user-input,Python 2.7,Networking,Ip,Ip Address,User Input,这是节目的第一部分。接受用户的IP地址作为输入时出现问题。 执行后,我得到以下错误 import os import sys import time import pprint import subprocess from netaddr import * print "(1).Ping specific target.\n(2).Ping sweep Subnet.\n(3).Exit" choice = raw_input("Enter your choice:- ") if choice
import os
import sys
import time
import pprint
import subprocess
from netaddr import *
print "(1).Ping specific target.\n(2).Ping sweep Subnet.\n(3).Exit"
choice = raw_input("Enter your choice:- ")
if choice == '1':
host = raw_input("Enter IP address to scan: ")
ip = IPAddress("host")
print "accepted"
回溯(最近一次呼叫最后一次):
文件“ping.py”,第13行,在
ip=ip地址(“主机”)
文件“/usr/local/lib/python2.7/dist-packages/netaddr/ip/_-init___.py”,第308行,在_-init中__
'来自%r“%addr”的地址
NetAddress.core.AddrFormatError:未能从“主机”检测到有效的IP地址
使用python 2.7.6可以将try/except与循环一起使用:
Traceback (most recent call last):
File "ping.py", line 13, in <module>
ip = IPAddress("host")
File "/usr/local/lib/python2.7/dist-packages/netaddr/ip/__init__.py", line 308, in __init__
'address from %r' % addr)
netaddr.core.AddrFormatError: failed to detect a valid IP address from 'host'
您在作业中使用的是字符串
“host”
,而不是变量host
更改:
done = False
while not done:
host = raw_input("Enter IP address to scan: ")
try:
ip = IPAddress("host")
done = True
except netaddr.core.AddrFormatError:
print 'Invalid IP Address Format, please try again!'
到
ip = IPAddress("host")
ip = IPAddress(host)