Discord 使用 BytesIO 发送空白文本文件

时间:2021-04-20 21:00:21

标签: python discord.py bytesio

我正在尝试使用 discord.py 发送一个文本文件,但是当我发送该文件时,它似乎是空的。

示例片段:

bytes = BytesIO()
test = b'sadfasdfsa'
bytes.write(test)
print(bytes)
await ctx.send(file=File(bytes, 'test.txt'))

这会导致发送一个空的 test.txt 文件。为什么不发送内容?

1 个答案:

答案 0 :(得分:2)

调用 BytesIO.write() 后,BytesIO 指针将被设置为文件末尾。要从内存中读取完整文件,您需要首先使用 seek() 将指针设置为文件开头。所以在发送文件之前,你会调用:

bytes_.seek(0)

另一方面,如果您将变量命名为 bytes,您将覆盖 built-in Python type,这就是我在上面的示例中重命名它的原因。