问题描述
我有一个.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))
我成功获得了报价; 但是,正如我上面描述的那样,正确的正则表达式是什么?
1楼
你不需要正则表达式。
文件:
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'