【问题标题】:I Have a With-Statement That Defines Two Values, and It Is Giving Me a Value Error. Why, and How Do I Fix This?我有一个定义两个值的 With-Statement,它给了我一个值错误。为什么,以及如何解决这个问题?
【发布时间】:2023-03-19 17:59:01
【问题描述】:

这行代码给了我

ValueError: 索引 7 处不支持的格式字符 't' (0x74)

with open("inventory.%s.txt" % file_number, "w") as f, open("gold.%.txt" % file_number, "w") as g:

这是什么意思,我该如何解决?

【问题讨论】:

  • 为什么都是一行?
  • 因为这是最有效和最有效的,并且嵌套它会给我一个错误。
  • 您在第二行中缺少%s。空格对读者也很重要,并且是 Pythonic
  • 什么是空白?

标签: python with-statement valueerror


【解决方案1】:

我认为它试图解释错误的格式字符串 - 具体来说,"%s.t"。您可以使用类似的语法截断数字,这可能会使格式化程序感到困惑。

如果您使用的是 python 3,我建议您改用 f 字符串:

with open(f"inventory.{file_number}.txt", "w") as f, open(f"gold.{file_number}.txt", "w") as g:

或者只是 str.format() 方法,否则:

with open("inventory.{}.txt".format(file_number), "w") as f, open("gold.{}.txt".format(file_number) as g:

消除歧义。

【讨论】:

    猜你喜欢
    • 2021-01-10
    • 2021-08-10
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多