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

如何将用户输入值嵌入已存在字符串的ability_id字段中?

问题修正与正确实现

你的代码存在语法错误,且手动拼接JSON字符串易引发格式问题,以下是修正及优化方案:

原始代码的问题

  • input("Enter an ability id) 缺少闭合双引号,会触发语法错误
  • 试图在单引号字符串内嵌套f-string的写法无效,f"{ability_id}"会被当作普通文本输出,无法替换为变量值

正确实现方式

方式1:使用f-string构建JSON字符串

需给外层字符串添加f前缀,同时转义内部双引号以符合JSON格式要求:

def main():
    ability_id = input("Enter an ability id: ")  # example:abc-123-abc-123
    data = f'{{"paw":"1234","ability_id":"{ability_id}","obfuscator":"plain-text"}}'
    print(data)

main()

方式2:使用str.format()方法

def main():
    ability_id = input("Enter an ability id: ")
    data = '{{"paw":"1234","ability_id":"{}","obfuscator":"plain-text"}}'.format(ability_id)
    print(data)

方式3:推荐使用json模块(规避手动拼接风险)

手动拼接JSON易出现引号转义、格式错误等问题,json.dumps()可自动处理这些细节:

import json

def main():
    ability_id = input("Enter an ability id: ")
    data_dict = {
        "paw": "1234",
        "ability_id": ability_id,
        "obfuscator": "plain-text"
    }
    data = json.dumps(data_dict)
    print(data)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 17:45:40