首页 > 解决方案 > Python中的简单模板(请不要使用模板引擎)

问题描述

这段代码

txt = "f'{string} a great day'"
with open('new.txt', 'w', encoding='utf-8') as out:
    out.write(f'{string} a great day')

将“有美好的一天”写入 new.txt 文件。

这段代码

txt = "f'{string} a great day'"
with open('new.txt', 'w', encoding='utf-8') as out:
    out.write(txt)

没有。f'{string} a great day' 它在 new.txt 文件中写入文字 。

为什么?

有没有办法让第二块代码做第一块代码的作用?

标签: pythonstringtemplatesescapingtemplating

解决方案


第二个代码是一个包含的字符串,f''python 不会反应/格式化值。但是有一个你想要的解决方案,你必须使用eval函数。

txt = "f'{string} a great day'"
with open('new.txt', 'w', encoding='utf-8') as out:
    out.write(eval(txt))

推荐阅读