【发布时间】:2021-02-17 09:45:39
【问题描述】:
我正在尝试编辑 Python 模块,但我没有从变量中获得我期望的值。代码是:
def populate_ipv4_interfaces(self, data):
for key, value in data.items():
vrf = re.findall(r'VPN Routing/Forwarding "(.+)"', value)
我期望输出一个字符串值。它确实包含我的字符串,但还有其他内容。当我强制它成为这样的字符串时:
vrf = str(re.findall(r'VPN Routing/Forwarding "(.+)"', value))
给我值“[u'Internet']”而不是“Internet”。
我查看了 u,我意识到这表示一个 unicode 字符,但我不知道为什么它会将这些信息与字符串一起提取。
如果有帮助,这是一个 ansible 模块,但我已将其缩小到这个变量,因为如果我在事实中指定一个字符串而不是这个变量,一切都会按预期工作。
谁能告诉我为什么我会看到这种行为?
【问题讨论】:
-
“我希望输出一个字符串值” -
re.findallreturns a list.
标签: python ansible python-2.x