python - 从 txt 文件中获取输入并放入 Dictionary
问题描述
我正在使用 python 来解析一个 txt 文件。我的文本文件如下所示:
下面的文字:
Master : 000000 Slave : 000001 000002
Master : 000003 Slave : 000004 000005
Master : 000006 Slave : 000007 000008
Master : 000010 Slave :
Master
: 000012 Slave : Master : 000014 Slave :
Master : 000016 Slave : 000017 000018
Master : 000020 Slave : 000021 000022
主机:000024 从机:000025 000026
主机:000028 从机:000029 000030
主机:000032 从机:000033 000034
主机:000036 从机:000037 000038
我希望将所有这些值都放在一个字典中,其中 master 作为键,slave 作为值。
{master1:[slave1,slave2],master2:[slave1,slave2]}
关键价值
00000 00001 , 00002
00003 00004 , 00005...
我是蟒蛇新手。请帮忙。谢谢
解决方案
您可以使用re
模块和正则表达式来查找具有模式的主值和从值,然后简单地从模式中获取组并将它们相应地添加到字典中:
import re
pattern = re.compile(r'Master : (.*) Slave : (.*)')
file_name = 'myfile.txt'
dct = {}
with open(file_name, 'r') as file:
for line in file:
match = pattern.match(line.strip())
if match:
master, slave = match.groups()
dct[master] = slave.split()
print(dct)
输出:
{'000000': ['000001', '000002'],
'000003': ['000004', '000005'],
'000006': ['000007', '000008'],
'000016': ['000017', '000018'],
'000020': ['000021', '000022'],
'000024': ['000025', '000026'],
'000028': ['000029', '000030'],
'000032': ['000033', '000034'],
'000036': ['000037', '000038']}
有用:
推荐阅读
- mysql - 每个组件有多少构成总计数
- android - 有没有办法从 json url 获取数据
- c - 排序在 main() 中工作,但不在单独的函数中
- javascript - 如何用数据更新 v-if?
- python - 无法获得用于计算迭代次数的 Python 函数以正常工作
- javascript - 如何将链接指向加载到另一个页面上的 iframe 中的页面,并通过单击将其滚动到位置?
- java - Spring - 如何使用 SAML 2.0 实现单点登录
- python - 图例颜色不匹配绘图颜色
- ocaml - OCaml 中的循环映射
- ruby-on-rails - Rails Active Storage 推送到 DigitalOcean Spaces