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

Python中无法用f-string将变量值传入GraphQL查询的问题

问题解决方法

你的问题出在没有将整个三重引号字符串标记为f-string,导致内部的f"{name}"被当成了普通文本内容,而非变量替换表达式。

正确写法

只需在三重引号前加上f前缀,同时因为GraphQL语法本身包含大括号{},需要在f-string里用双重大括号{{}}表示普通大括号,避免和变量占位符冲突:

name = "harsha"
query = f"""mutation {{
                createUsers(input:{{
                user_name: "{name}"
                  }})
                  {{
                    users{{
                      user_name
                    }}
                  }}
              }}
        """

可选替代方案(使用str.format())

如果你更习惯传统字符串格式化方式,也可以用format()方法实现变量注入:

name = "harsha"
query = """mutation {{
                createUsers(input:{{
                user_name: "{}"
                  }})
                  {{
                    users{{
                      user_name
                    }}
                  }}
              }}
        """.format(name)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 22:51:22