【问题标题】:Write to text file with bot command using discord.py使用 discord.py 使用 bot 命令写入文本文件
【发布时间】:2020-02-07 12:39:49
【问题描述】:

所以基本上,我希望能够为我玩的游戏添加新员工并存储积分以在游戏中排名。所以第一个命令是创建新员工。所以说 Bob 需要被创建。我想说“!addcurrentemployee bob”让它写入文本文件并将他的点默认为0。这就是我所拥有的,但它不起作用:

@bot.command
async def addcurrentemployee(ctx, username=None, points=0):
    desk = "G:/Python/Diamond Security Bot/"
    with open(desk + "employees.txt", "rw+") as f:
        user = str(username)
        pointamount = str(points)
        points = 0
        f.write(f'{user}, {pointamount}')
        f.close()

【问题讨论】:

标签: python python-3.x discord.py discord.py-rewrite


【解决方案1】:

您是否遇到了特定错误?这是作为命令装饰的吗?您正在尝试的输入是什么?除了“它不起作用”之外,如果没有更多信息或上下文,就很难确定您正在寻求帮助的具体问题是什么。

不过,基于这个 sn-p,points 将是一个整数,当您尝试将一个字符串与它连接时,您将得到一个 TypeError。这也适用于username,如果未指定,则为None。你应该看看string formatting

您也可以考虑为文件使用上下文管理器,例如
with open(desk + "employees1.txt", "w") as f:

【讨论】:

  • 更改为 with open(desk+"employees.txt", "rw+") as f: 并设置了 user=str(username) 和 pointamount = str(points)
  • 同样,您需要提供比“仍然没有工作”更多的信息。盲目猜测你的问题是什么来帮助你是一种愚蠢的方法。
猜你喜欢
  • 2020-12-23
  • 2023-03-29
  • 2021-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-22
  • 1970-01-01
  • 2021-05-11
相关资源
最近更新 更多