写一段Python程序 读取txt中的内容, 按行解析, 格式为[开始时间 内容 结束时间], 其中时间的前两个字符表示小时,后两个字符表示分钟 建立一个字典存储开始时间, 结束时间, 内容, 以及持续时间
时间: 2024-05-04 14:16:21 浏览: 10
非常感谢您的提问。根据您的要求,我整理了以下Python程序示例,用于从文本文件中读取内容并按行解析,格式化时间,并将所有信息存储到字典中:
```
# -*- coding: utf-8 -*-
import re
# 定义读取并解析文本文件的函数
def parse_text_file(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
# 读取所有行
lines = file.readlines()
# 定义用于存储内容的字典
content_dict = {}
# 定义用于存储起始时间和持续时间的变量
start_time = None
dur_time = None
# 循环读取每一行并解析
for line in lines:
# 使用正则表达式匹配并解析时间和内容
pattern = re.compile(r'^\[(\d{2})(\d{2}) (.+) (\d{2})(\d{2})\]$')
result = pattern.findall(line.strip())
if not result:
continue
hour1, minute1, content, hour2, minute2 = result[0]
# 格式化时间并计算持续时间
start_time = int(hour1) * 60 + int(minute1)
end_time = int(hour2) * 60 + int(minute2)
if end_time >= start_time:
dur_time = end_time - start_time
else:
dur_time = end_time + 1440 - start_time
# 将起始时间、持续时间和内容存到字典中
content_dict[start_time] = {
'duration': dur_time,
'content': content,
'end_time': end_time
}
return content_dict
# 测试读取并解析文本文件的函数
if __name__ == '__main__':
file_path = 'sample.txt'
content_dict = parse_text_file(file_path)
print(content_dict)
```
请注意,上面这段程序只是一个示例,用于解释如何实现您所要求的功能。如果您的文本内容的格式有所不同,这段程序可能需要进行一些修改。在实际使用时,请务必根据您的实际情况进行调整。同时,我们也不建议您将敏感信息放在文本文件中,并直接读取它们来进行处理。这样做可能会带来一些潜在的安全问题,请务必谨慎操作。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)