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

如何在Python中动态调用字符串操作?

动态执行字符串操作指令的解决方案

你可以用eval()实现需求,它并非只支持整数操作,只要是合法的Python表达式(包括字符串的链式调用)都能处理。

具体实现代码

# 数据库取出的字符串需转义为Python可识别格式,这里还原示例
func_to_exec = 'split("|")[0].split(",")[1]'
pl = 'mancity,manunited,arsenal|2|3|4|5'

# 拼接表达式并执行
result = eval(f"pl.{func_to_exec}")
print(result)  # 输出: manunited

关键说明

  • eval()会把传入的字符串当作Python表达式执行,这里将变量pl和操作指令拼接成完整调用语句pl.split("|")[0].split(",")[1],直接得到执行结果。
  • 如果数据库返回的指令包含HTML转义字符(比如原代码中的"),需要先转义为Python的引号("或'),否则会触发语法错误。

安全提醒

如果数据库中的操作指令来自不可信来源,直接用eval()存在代码注入风险。这种情况下建议用ast.parse()解析表达式,限制仅允许调用字符串的合法方法(比如split、strip等),避免执行恶意代码。

内容的提问来源于stack exchange,提问作者nebuchadnezzar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:20:17