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

ifm*_*fma 5 python regex

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

norway  sweden
bhargama  bhargama
forbisganj  forbesganj
canada  usa
ankara  turkey
Run Code Online (Sandbox Code Playgroud)

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

'norway' : 'sweden',
'bhargama': 'bhargama',
'forbisganj' : 'forbesganj',
'canada':  'usa',
'ankara':  'turkey'
Run Code Online (Sandbox Code Playgroud)

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

这是我的尝试:

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

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

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

Tig*_*kT3 10

你不需要正则表达式.

文件:

norway  sweden
bhargama  bhargama
forbisganj  forbesganj
canada  usa
ankara  turkey
Run Code Online (Sandbox Code Playgroud)

码:

with open('myfile.txt') as f:
    my_dictionary = dict(line.split() for line in f)
Run Code Online (Sandbox Code Playgroud)

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

>>> my_dictionary['norway']
'sweden'
Run Code Online (Sandbox Code Playgroud)