gpt4 book ai didi

python - 如何获取格式字符串中使用的名称列表?

转载 作者:太空狗 更新时间:2023-10-29 19:36:40 25 4
gpt4 key购买 nike

给定一个格式化字符串:

x = "hello %(foo)s  there %(bar)s"

有没有办法获取格式化变量的名称? (我自己没有直接解析它们)。

使用 Regex 不会太难,但我想知道是否有更直接的方法来获取这些。

最佳答案

使用 dict 子类重写 __missing__ 方法,你可以从那里收集所有丢失的格式变量:

class StringFormatVarsCollector(dict):
def __init__(self, *args, **kwargs):
self.format_vars = []

def __missing__(self, k):
self.format_vars.append(k)
...
def get_format_vars(s):
d = StringFormatVarsCollector()
s % d
return d.format_vars
...
>>> get_format_vars("hello %(foo)s there %(bar)s")
['foo', 'bar']

关于python - 如何获取格式字符串中使用的名称列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27724433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com