python学习之路-碰到的坑

某天在写一个获取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相等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值