【问题标题】:TypeError: an integer is required (got type str) for writing to fileTypeError:写入文件需要一个整数(获取类型 str)
【发布时间】:2020-02-16 21:03:55
【问题描述】:

我正在制作一个骰子游戏,我将获胜者和得分写入同一文件夹中的 txt 文件。

我尝试将 usernameone 和 usernametwo 转换为 str:

else:
    if playeronepoints>playertwopoints:
        print("player one has won")
        file=open("winners.txt","a","\n")
        file.write(usernamefirst,playereonepoints)
        file.close()
    else:
        print("player two has won")

        file=open("winners.txt","w","\n")
        file.write(usernamesecond,playertwopoints)
        file.close()

应写入文件但得到 TypeError: an integer is required (got type str)

【问题讨论】:

    标签: python string types integer


    【解决方案1】:

    我想通了,你导入操作系统了吗?是的,那么它不会工作...... 如果您使用的是操作系统形式的函数,则不包括所有内容,只包括您需要的包,例如您使用名称和系统,然后使用这种语法:

    from os import system, name
    

    那是因为 os 有另一个名为 open() 的函数,它与我认为的 int 类型有关,与您要使用的 open() 无关...

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      问题是您致电open

      这里是方法的签名:

      open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
      

      只需使用open(file, 'r')

      您还应该考虑使用上下文管理器:

      with open(file, 'r') as fh:
          fh.write("hi")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-24
        相关资源
        最近更新 更多