2024-10-02 04:21:38 发布
网友
我是Python编程新手,不能在变量(IP)中存储IP地址
ip = input("Enter IP address: ") # 192.168.0.1 (Example) print ("you entered: "+ip)
我收到一条错误消息,不知道该怎么办。
如果您不想担心Python 2.x或Python 3.x,请使用sys.stdin读取输入,使用sys.stdout打印该节的输出。
Python 2.x
Python 3.x
sys.stdin
sys.stdout
import sys sys.stdout.write("Enter IP address: ") sys.stdout.flush() ip = sys.stdin.readline() print("you entered: " + ip)
输出:
Enter IP address: 192.168.1.1 you entered: 192.168.1.1
我在这里没有看到这个解决方案,所以张贴。希望这能帮助其他人。
当在Python 2.X和3.X上同时运行时,这个解决方案将起作用。当需要我的脚本在两个Python版本之间兼容时,我遇到了这个问题。
raw_input()在2.x上工作,在3.x上引发异常
raw_input()
input()无法读取2.x上的ip地址格式输入(异常),3.x有效
input()
try: ip_address = raw_input('Enter IP Address: ') except: ip_address = input('Enter IP Address: ')
无论此解决方案中的Python版本如何,ip_address都将是输入的ip地址的str。
ip_address
str
注意:您可以使用以下内容检查输入的地址是否是有效的ip地址:
import re if not re.match(r'[0-9]+(?:\.[0-9]+){3}', ip_address): print('Invalid IP Address')
我认为您使用的是Python2.x,如果是,那么^{}将其输入作为真正的Python代码进行计算。
换句话说,当您输入192.168.0.1时,将引发SyntaxError,因为输入包含非法语法:
192.168.0.1
SyntaxError
>>> input() 192.168.0.1 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1 192.168.0.1 ^ SyntaxError: invalid syntax >>>
要解决此问题,您需要使用^{}代替:
ip = raw_input("Enter IP address: ")
与input不同,raw_input总是返回一个字符串对象:
input
raw_input
>>> raw_input() 192.168.0.1 '192.168.0.1' >>>
如果您不想担心
Python 2.x
或Python 3.x
,请使用sys.stdin
读取输入,使用sys.stdout
打印该节的输出。输出:
我在这里没有看到这个解决方案,所以张贴。希望这能帮助其他人。
当在Python 2.X和3.X上同时运行时,这个解决方案将起作用。当需要我的脚本在两个Python版本之间兼容时,我遇到了这个问题。
raw_input()
在2.x上工作,在3.x上引发异常input()
无法读取2.x上的ip地址格式输入(异常),3.x有效解决方案
无论此解决方案中的Python版本如何,
ip_address
都将是输入的ip地址的str
。注意:您可以使用以下内容检查输入的地址是否是有效的ip地址:
我认为您使用的是Python2.x,如果是,那么^{} 将其输入作为真正的Python代码进行计算。
换句话说,当您输入
192.168.0.1
时,将引发SyntaxError
,因为输入包含非法语法:要解决此问题,您需要使用^{} 代替:
与
input
不同,raw_input
总是返回一个字符串对象:相关问题 更多 >
编程相关推荐