HELP!我是愚蠢的卡住,无法找到如何做到这一点。 另外因为我是Python的初学者。
我需要Python中的这个脚本帮助。
我正在尝试这样做
#code
a = input("Enter ip address: ")
print 'edit "ip-' + str(a) + '"\n',
# Shell
Enter ip address:10.203.1.10
# output
edit "ip-10.203.1.10"
如何存储IP地址?当我添加小数点时,我可能会收到错误 是否有模块或包或一些秘密。拆分方法可以像这样工作 x.split(“ - ”)拆分和IP地址如何存储值然后(a,b)?具有 像这样的东西。
10.228.50.88-10.228.50.91
编辑“ipr-10.228.50.88-10.228.50.91”
设置类型iprange
设置start-ip 10.228.50.88
设置end-ip 10.228.50.91
真正应用任何帮助或任何可以指向我正确方向的人。
答案 0 :(得分:0)
我希望以下脚本可以帮助您:
a = raw_input("Enter ip address: ")
print 'edit "ip-' + str(a) + '"\n'
if '-' in a:
ips = a.split('-')
print ('set type iprange')
print ('set start-ip '+ips[0])
print 'set end-ip '+ips[1]
答案 1 :(得分:0)
问题是你在Python 2上运行它时使用input
。你希望它的返回类型是一个字符串,但事实并非如此。在Python 2中,input
实际上尝试解析并执行输入,就像它是Python代码一样。显然,192.168.0.0
或任何IP地址都是无效的Python代码,因此您会收到错误消息。
要解决此问题,请使用raw_input
代替input
。然后,a
类型为str
,即常规字符串(IP地址没有什么特别之处),因此您可以使用a.split
,{{1}和a.join
类的其他方法。
答案 2 :(得分:0)
每https://docs.python.org/2/library/functions.html#input,输入执行此操作:eval(raw_input(prompt))
。 eval意味着它正在尝试获取输入并将其解释为python代码,这就是您遇到语法错误的原因。它还说:考虑使用raw_input()函数来获取用户的一般输入,这听起来就像你在寻找的那样。此外,快速测试和Python3文档,看起来input()功能是不同的,行为更像raw_input()函数。快速测试:
Python 3.6.2:
>>> a = input("Enter ip address: ")
Enter ip address: 10.1.1.1
>>> a
'10.1.1.1'
Python Python 2.7.13:
>>> a = input("Enter ip address: ")
Enter ip address: 10.1.1.1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
10.1.1.1
^
SyntaxError: invalid syntax