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

如何配置Python Black工具以合理格式化Polars代码?

配置Black适配Polars代码格式化

要让Black正确格式化Polars的.select/.with_columns这类嵌套链式调用代码,可通过以下标准配置实现:

核心配置步骤

  1. 在项目根目录创建pyproject.toml文件,添加Black专属配置:
[tool.black]
# 匹配你期望的79字符换行长度
line-length = 79
# 指定项目使用的Python版本,确保Black适配对应语法特性
target-version = ["py310"]
  1. 确保使用Black 22.0及以上版本,旧版本对嵌套链式调用的缩进处理逻辑不完善,升级后可自动识别Polars风格的链式调用并生成符合预期的缩进格式。

配置后的效果

应用上述配置后,你提供的原代码会被格式化为目标样式:

df = df.select(
    user_ids=pl.col("log_entry").str.extract(
        r"User ID: \[([\d ,]+)\]"
    ),
    session_times=pl.col("log_entry").str.extract(
        r"Session Time: \[([\d :]+)\]"
    ),
    event_type=pl.col("log_entry")
        .str.extract(r"Event Type: ([\w ]+)")
        .cast(pl.Utf8),
    event_duration=pl.col("log_entry")
        .str.extract(r"Duration:(\d+)")
        .cast(pl.Int32),
)

特殊场景处理

如果遇到个别复杂嵌套场景Black仍未正确格式化,可临时用# fmt: off和# fmt: on注释包裹代码段,强制保留自定义格式:

# fmt: off
df = df.select(
    # 需保留格式的代码段
)
# fmt: on

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 14:40:01