Python strip 内置方法使用上的误区
最近在调查配置问题过程中,发现一个比较低级的错误,应该是 python 使用习惯的问题,和大家分享一下,比较有意思。
问题介绍
在系统的配置脚本中有一句这样的逻辑:
# etcd_nodes like this: 'http://172.16.1.1:2380'
etcd_nodes.append(etcd_node_host.rstrip(':2380').lstrip('http://'))
我们预期的结果当然是获取到 '172.16.1.1' 这个 IP 地址。但是在实际使用的时候,遇到了这样的问题:
分析一下原因
我们先来看下 python 内置方法 strip 这类方法的定义了实现,官方定义:
def rstrip(self, chars=None): # real signature unknown; restored fr
