您的位置:首页 > 编程语言 > Python开发

python学习之路-碰到的坑

2017-12-31 17:52 246 查看
某天在写一个获取ip的函数并根据ip条件做出判断代码如下:

#导入模块
import urllib.request
定义本机IP
ip = "112.139.198.114"
#获取本机IP函数
def get_ip():
response = urllib.request.urlopen("http://members.3322.org/dyndns/getip")
response = response.read().decode()
return response
#赋值
get_ip = get_ip()
#分别打印IP
print(ip)
print(get_ip)
print(type(ip))
print(type(get_ip))
#判断ip是否相等
if ip == get_ip:
print("IP相等")
else:
print("IP不相等")


由于我提前知道了本机IP,理论上,这个代码返回的应该是

IP相等


可是输入结果一直是

IP不相等


输出结果

112.139.198.114
112.139.198.114

<class 'str'>
<class 'str'>
IP不相等


查看两者的类型,发现都是字符型,而且内容都是一样的,一直找不到原因。

后来发现,get_ip获取的值,多了一个换行符号,才导致不想等。

修改如下函数方法:

def get_ip():
response = urllib.request.urlopen("http://members.3322.org/dyndns/getip")
response = response.read().decode()
return response.strip()  # 添加一个strip()方法,去掉符号


之后输入结果就相等了

112.139.198.114
112.139.198.114
<class 'str'>
<class 'str'>
IP相等
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: