Python - 找到特定字符串时拆分文本文件的内容

Python - Split content of text file when specific string is found

我目前正在使用下面的代码拆分每 2000 个字符读取一次的文本文件的内容,以确保不超过 discord.py 消息限制。

这工作正常,但有一个小问题,有时一条消息中的一个词会被拆分成两条消息,因为代码只是在消息达到 2000 个字符时立即拆分消息。

我在想一个更好的解决方案是寻找一个特定的字符串,该字符串在文本文件中的每个内容块之间是通用的,并在找到该字符串时拆分。

我目前使用的代码如下

with open(info["textfile"], 'r') as file:
                    msg = file.read(2000).strip()
                    while len(msg) > 0:
                        await message.author.send(msg)
                        msg = file.read(2000).strip()

我想我需要使用 .contains 来搜索字符串,然后拆分要作为消息发送的文本文件的内容,但我不知道如何实现它。

文本文件内容示例如下:

__**Competition**__: Professional Boxing - 10 Rounds Lightweight Bout 
__**Competitors:**__: Katie Taylor v Delfine Persoon 
__**Match Date:**__: Saturday, 22nd  August 
__**Match Time:**__: ST: 21:00 
__**Channels**__: DAZN USA   
   Sky Sports Box Office HD 
-----
__**Competition**__: Professional Boxing - 12 Rounds Heavyweight Bout 
__**Competitors:**__: Dillian Whyte v Alexander Povetkin 
__**Match Date:**__: Saturday, 22nd  August 
__**Match Time:**__: ST: 22:00 
__**Channels**__: DAZN USA   
   Sky Sports Box Office HD 
----- 

我在想最好搜索“-----”并在此时拆分文本文件的内容,然后将每组匹配数据作为单独的消息发送?

感谢任何可以为此问题提供帮助或解决方案的人。

感谢 dantechguy 和 Thomas Weller 的帮助,我遇到的问题的解决方案如下:

with open(info["textfile"], 'r') as file: # using with to open file means we don't have to close it after finishing
                    msg = file.read().strip().split ("--------------------") # reads content of textfile and split when "-------------------" is found and creates list of strings.
                    for item in msg:  # for loop to call each item
                        print (item) # print to double check output 
                        await message.author.send(item) # send each item as a new message in discord.

正如他们的评论中所解释的那样,所有需要做的都是在“--------------------”上拆分,将字符串拆分为字符串列表然后将每个项目作为消息发送。