gpt4 book ai didi

python - 如何找到 python 的 string.format(**kwargs) 失败的地方?

转载 作者:行者123 更新时间:2023-12-03 20:45:00 25 4
gpt4 key购买 nike

我有一个很长的字符串,里面有很多格式化大括号和很多不是格式化的双大括号。我还有一个字典,其中包含用于格式化的所有值。简短示例:

text = """There are {n_cats:} cats and {n_dogs:} dogs.
A total of {7}.
Except that there is some {{normal text}}.
"""

kwargs = {'n_cats': 3, 'n_dogs': 4}

print(text.format(**kwargs))
这导致:
Traceback (most recent call last):
print(text.format(**kwargs))
IndexError: tuple index out of range
显然可以看到,而不是 {7}应该是 7{{7}} .但我的真实文本要长得多。有没有办法轻松找到 format()的地方?休息?

最佳答案

谢谢你们。 @Asocia 和 @chepner 的评论给了我一个想法,它确定了问题发生在哪一行。我们可以分text成行并将格式应用于每个行(在 kwargs 中有太多键不是问题)。代码:

try:
print(text.format(**kwargs))
except Exception:
for (i, t) in enumerate(text.split("\n")):
try:
t.format(**kwargs)
except Exception:
raise ValueError("Failed in line {:}".format(i+1))

关于python - 如何找到 python 的 string.format(**kwargs) 失败的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66142895/

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