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

如何配置Ruff将百分号格式代码自动修复为f-string格式?

解决Ruff无法自动修复UP031(百分号转f-string)的问题

问题原因

UP031规则(建议用格式指定符替代百分号格式化)本身支持自动修复,但默认情况下Ruff不会自动启用该规则的修复能力,需在配置中明确开启。另外ruff format仅负责代码格式化,不处理lint规则的自动修复,必须使用ruff check . --fix命令来修复这类问题。

解决方案

修改你的pyproject.toml配置,添加fix.extend字段指定要开启修复的规则:

[tool.ruff]
target-version = "py39"
line-length = 120
extend-select = ["E501", "UP", "RUF"]
fix.extend = ["UP031"]  # 开启UP031的自动修复权限

验证修复

重新执行修复命令:

ruff check . --fix

你的示例代码:

print("%s" % "hello")

会被自动修复为:

print(f"hello")

额外说明

  • 若需要开启所有已选中规则的自动修复,可添加fix.all = true到配置中,但这种方式可能会修复部分你不想改动的规则,建议按需通过fix.extend指定具体规则。
  • 确保target-version不低于py36(f-string的最低支持版本),你的配置中已设置为py39,满足要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 22:08:25