Discord Bot 逐行发送文本文件

我正在研究一个不和谐的命令,它将整个文本文件逐行写入聊天中,我尝试制作它,但不知何故它不能正常工作。


    file = open('story.txt', 'r')


    @client.command(alisases = ['readfile'])

     async def story(ctx):

        for x in file:

            await ctx.send(file)

它运行,但只写这些行:

http://img1.mukewang.com/636b68400001e56605430234.jpg

<_io.TextIOWrapper name='story.txt' 模式='r' 编码='cp1250'>



繁星点点滴滴
浏览 95回答 1
1回答

冉冉说

您正在发送文件对象的字符串表示,而不是其中的行。你可以这样做:@client.command(alisases = ['readfile'])async def story(ctx):&nbsp; &nbsp; with open('story.txt', 'r') as story_file:&nbsp; &nbsp; &nbsp; &nbsp; for line in story_file:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; await ctx.send(line)此外,使用with open语法是一个很好的做法,因为它可以确保文件被正确关闭。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python