试图在Discord.py中写一个新文件,但没有任何事情发生

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了试图在Discord.py中写一个新文件,但没有任何事情发生相关的知识,希望对你有一定的参考价值。

我是Python和Discord.py的新手,所以如果这个问题的答案对我来说更明显,我会道歉。

我希望能够使用我的机器人从服务器保存数据并查看数据(如果必须的话),所以我认为最有效的方法是让我的机器人为每个服务器写入文本文件以包含所有他们的数据。

以下是我的代码。

import discord
from discord.ext, import commands
import os

@bot.event
async def on_server_join(server):
  print('Joined ' + server.name)
  for root, dirs, files in os.walk('Physix'): # Creating the file for the server if it doesn't already exist
    if server.name + '.txt' in files:
      print('File for ' + server.name + ' already exists')
    else:
      newFile = open(server.name + '.txt', 'w+')
      newFile.write(server.name + '\n')
      newFile.close()
      print('File for ' + server.name + ' created')

我的问题是,当我运行我的代码并让机器人重新加入服务器时,没有创建任何文件。除了在文件搜索和写入开始之前运行的“加入[serverName]”之外,甚至都没有打印。编译器不显示任何错误。

我查看了查看文件是否已存在的最佳方法是使用os.walk,这就是我在这里使用的方法。是否有更有效的方法来保存数据,同时能够访问我不知道的数据?

我的另一个问题是当你创建一个新文件时,Python如何知道它的存储位置?似乎没有任何关于文件存储位置的参数。它只是创建文件。

如果之前已经问过这个问题,请把它链接到我,但我真的找不到一个能帮我解决这个问题的人。谢谢!

答案

像这样的东西?

@client.event
async def on_server_join(server):
    with open('info.txt','w') as file:
        file.write("Server name: " + server.name)
        print('File for ' + server.name + ' created')

以上是关于试图在Discord.py中写一个新文件,但没有任何事情发生的主要内容,如果未能解决你的问题,请参考以下文章

我试图在 discord.py 中创建一个楼梯命令

是否可以使用我的机器人在 discord.py 中附加大于 150Mb 的文件

公会加入事件打印机器人被邀请 - Discord.py

discord.py:MySQL '光标未连接'

运行一个函数会阻止机器人 - discord.py

Discord.py Bot 不播放音乐