【问题标题】:How to handle formatting a regular string which could be a f-string [C0209]如何处理格式化可能是 f 字符串的常规字符串 [C0209]
【发布时间】:2021-12-23 13:10:17
【问题描述】:

对于以下行:

print("{0: <24}".format("==> core=") + str(my_dict["core"]))

我收到以下警告消息:

[consider-using-f-string] 格式化一个可以是 f-string 的常规字符串 [C0209]

我可以使用f-string 重新格式化它吗?

【问题讨论】:

  • 你能提供 MWE 吗?

标签: python pylint f-string


【解决方案1】:

您可以将代码更改为print(f"{'==&gt; core=': &lt;24}{my_dict['core']}")。转换为字符串是隐式的。

【讨论】:

    【解决方案2】:

    在您的情况下,重构将如下所示:

    print(f"{'==> core=': <24}" + str(my_dict['core']))
    

    基本上,你写的是f"{bar:...}",而不是"{0:...}".format(bar)。 (注意,您必须在 f 字符串中使用单引号,因为双引号会过早终止字符串。)

    查看https://realpython.com/python-f-strings/ 了解 f-strings 的精彩介绍。

    【讨论】:

    • 您刚刚在开头添加了f。我知道f"{bar:...}" 但我怎么能摆脱+ 部分
    • 嗨@alper,上面的答案向您展示了如何做到这一点。请注意,您的警告不是因为+。这是因为您使用的是常规字符串并在其上调用 .format
    猜你喜欢
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    相关资源
    最近更新 更多