You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将存储为字符串的f-string表达式解析得到对应输出?

问题解析

你存储的字符串s本身就是合法的Python f-string字面量写法,只需要对其做表达式求值即可得到解析后的结果。

方案1:直接使用eval(仅适用于字符串来源完全可信的场景)

eval可以直接执行传入的Python表达式,你可以直接对s求值:

x = 3
s = "f'12{x}4'"
result = eval(s)
print(result)

运行后输出为 1234。

注意:eval会执行字符串中的任意Python代码,如果s来自不可信的用户输入,会存在严重的代码注入安全风险,请勿在生产环境对不可信内容使用该方法。

方案2:使用string.Template(安全无注入风险)

如果需要处理不可信来源的模板,可以用Python标准库的string.Template实现变量替换,不需要执行任意代码:

from string import Template

x = 3
s = "f'12{x}4'"
# 先移除字符串外层多余的f'和',再将占位符格式替换为Template兼容格式
processed_template = s[2:-1].replace('{', '${')
result = Template(processed_template).substitute(x=x)
print(result)

内容的提问来源于stack exchange,提问作者Mohamed Hicham Gaballah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:06:01