当前位置: 代码迷 >> python >> Python:正则表达式用一系列单词制作python字典?
  详细解决方案

Python:正则表达式用一系列单词制作python字典?

热度:54   发布时间:2023-06-13 14:07:39.0

我有一个.txt文件,其中包含以下内容:

norway  sweden
bhargama  bhargama
forbisganj  forbesganj
canada  usa
ankara  turkey

我想覆盖该文件,以便这些是它的新内容:

'norway' : 'sweden',
'bhargama': 'bhargama',
'forbisganj' : 'forbesganj',
'canada':  'usa',
'ankara':  'turkey'

基本上我想将.txt文件转换为python字典,以便我可以操作它。 是否有用于此类任务的内置库?

这是我的尝试:

import re
target = open('file.txt', 'w')

for line in target:
  target.write(re.sub(r'([a-z]+)', r'':'"\1"','', line))

我成功获得了报价; 但是,正如我上面描述的那样,正确的正则表达式是什么?

你不需要正则表达式。

文件:

norway  sweden
bhargama  bhargama
forbisganj  forbesganj
canada  usa
ankara  turkey

码:

with open('myfile.txt') as f:
    my_dictionary = dict(line.split() for line in f)

这将遍历文件中的每一行,并将其在空白处拆分为一个list 这个list生成器被送到dict() ,它使每一个成为字典键和值。

>>> my_dictionary['norway']
'sweden'