以下是一个示例代码,可以根据每个部分标题中的日期对文件进行分段排序:
import re
# 读取文件内容
with open('file.txt', 'r') as file:
content = file.read()
# 使用正则表达式匹配标题和日期
pattern = r'(.*)(\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2}\s+\d{2})'
matches = re.findall(pattern, content)
# 根据日期排序
sorted_matches = sorted(matches, key=lambda x: x[1])
# 将排序后的结果写入新文件
with open('sorted_file.txt', 'w') as file:
for match in sorted_matches:
file.write(match[0] + match[1] + '\n')
这段代码假设文件中的每个部分标题都以日期(DOW MON DD YY)开头,如“Mon Jan 01 22”,并且每个部分标题和日期之间没有其他字符。代码首先读取文件内容,然后使用正则表达式找到所有标题和日期的匹配项。
接下来,代码使用lambda函数作为键函数,根据日期对匹配项进行排序。排序后的结果存储在sorted_matches列表中。
最后,代码将排序后的结果写入新文件sorted_file.txt中。每个匹配项都会按照原始顺序写入文件。
请注意,这只是一个示例代码,实际使用时可能需要根据具体需求进行适当修改。