解析字符串并用其值替换字符串的最佳方法是什么?

发布于 2024-09-04 19:52:17 字数 306 浏览 4 评论 0原文

我可能有这样的字符串,

"""Hello, %(name)s,
how are you today, 
here is amount needed: %(partner_id.account_id.debit_amount)d
"""

这种模板的最佳解决方案是什么,我可能需要结合正则表达式和eval,输入字符串可能会有所不同,例如$partner_id.account_id.debit_amount$ > - 目前我保留为 python 字符串格式 - 只是为了测试。

I may have string like,

"""Hello, %(name)s,
how are you today, 
here is amount needed: %(partner_id.account_id.debit_amount)d
"""

what would be the best solution for such template may i need to combine regular expression and eval, input string may differ like $partner_id.account_id.debit_amount$ - for the moment I've kept as python string format - just for testing.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

季末如歌 2024-09-11 19:52:17

Python 在 Python 2.6 和 3.0 中对字符串实现了新的 .format() 方法。查看此 PEP:http://www.python.org/dev/peps/ pep-3101/

它比 % 运算符更强大、更灵活,并且内置于 python 中:

以下是 PEP 中的一些示例:

"My name is {0}".format('Fred')
"My name is {0.name}".format(open('out.txt', 'w'))
"My name is {0[name]}".format({'name':'Fred'})

它可能足以满足您的需求,如果不能,请查看像 Jinja 这样的模板引擎其他人提到。

Python implemented a new .format() method on strings in Python 2.6 and 3.0. Check out this PEP: http://www.python.org/dev/peps/pep-3101/

It is more powerful and flexible than the % operator and built into python:

Here are some examples from the PEP:

"My name is {0}".format('Fred')
"My name is {0.name}".format(open('out.txt', 'w'))
"My name is {0[name]}".format({'name':'Fred'})

It may be enough for your needs, if not, look at a templating engine like Jinja as others mentioned.

淡写薰衣草的香 2024-09-11 19:52:17

If you're looking for something simple, try looking at Python's builtin Template. I use it quite a bit for quick and easy templating without the overhead of installing additional packages.

There's also the new format() method.

花之痕靓丽 2024-09-11 19:52:17

如果您要做复杂的模板,您可以考虑使用高级模板引擎,例如 Jinja。还有很多其他的。

If you are going to do sophisticated templating, you may consider using an advanced template engine like Jinja. There are plenty others as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文