Python 中的简单模板(请不要使用模板引擎)

Simple template in Python (no templating engines please)

这个代码

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 文件中。

为什么?

有没有办法让第二段代码做第一段代码做的事情?

第二个代码是一个包含f''和python的字符串,不会有react/format值。但是有一个解决方案可以满足您的需求,您必须使用 eval 函数。

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