Python:regex用一系列单词制作Python词典?
我有一个包含以下内容的.txt文件:Python:regex用一系列单词制作Python词典?,python,regex,Python,Regex,我有一个包含以下内容的.txt文件: norway sweden bhargama bhargama forbisganj forbesganj canada usa ankara turkey 'norway' : 'sweden', 'bhargama': 'bhargama', 'forbisganj' : 'forbesganj', 'canada': 'usa', 'ankara': 'turkey' 我想覆盖该文件,使其成为新内容: norway sweden b
norway sweden
bhargama bhargama
forbisganj forbesganj
canada usa
ankara turkey
'norway' : 'sweden',
'bhargama': 'bhargama',
'forbisganj' : 'forbesganj',
'canada': 'usa',
'ankara': 'turkey'
我想覆盖该文件,使其成为新内容:
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))
我成功地得到了报价;但是,做我上面描述的事情的合适正则表达式是什么呢?不需要正则表达式 文件: 代码: 这将遍历文件中的每一行,并在空白处将其拆分为
列表
。这个列表
的生成器被馈送到dict()
,这使每个列表都成为字典键和值
>>> my_dictionary['norway']
'sweden'
你为什么要在这里使用正则表达式这里不需要正则表达式首先想到的是。。。有没有更有效的方法呢?是否只有两个单词用空格隔开?是的,两个单词用空格隔开,后跟一个换行符
d=dict(line.split()表示行在open('file.txt'))
谢谢您的帮助:)如果您不使用strip()
,则该值的末尾将有'\n'
,我不想这样。我测试了它(不止一次),发现它确实需要strip()
。然而,我刚刚再次测试了它,它并没有产生我之前得到的结果。我不知道为什么现在的结果不同,但我会删除它。