Discord 使用 BytesIO 发送空白文本文件
Discord sending blank text file with BytesIO
我试图用 discord.py 发送一个文本文件,但是当我发送文件时,它似乎是空的。
示例片段:
bytes = BytesIO()
test = b'sadfasdfsa'
bytes.write(test)
print(bytes)
await ctx.send(file=File(bytes, 'test.txt'))
这会导致发送一个空的 test.txt 文件。为什么不发送内容?
调用 BytesIO.write()
后,BytesIO
指针将设置为文件末尾。要从内存中读取完整文件,您需要首先使用 seek()
将指针设置为文件的开头。所以在发送文件之前你会调用:
bytes_.seek(0)
另一方面,如果您将变量命名为 bytes
,您将覆盖 built-in Python type,这就是我在上面的示例中重命名它的原因。
我试图用 discord.py 发送一个文本文件,但是当我发送文件时,它似乎是空的。
示例片段:
bytes = BytesIO()
test = b'sadfasdfsa'
bytes.write(test)
print(bytes)
await ctx.send(file=File(bytes, 'test.txt'))
这会导致发送一个空的 test.txt 文件。为什么不发送内容?
调用 BytesIO.write()
后,BytesIO
指针将设置为文件末尾。要从内存中读取完整文件,您需要首先使用 seek()
将指针设置为文件的开头。所以在发送文件之前你会调用:
bytes_.seek(0)
另一方面,如果您将变量命名为 bytes
,您将覆盖 built-in Python type,这就是我在上面的示例中重命名它的原因。