我有一个.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)