Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:regex用一系列单词制作Python词典?_Python_Regex - Fatal编程技术网

Python:regex用一系列单词制作Python词典?

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

我有一个包含以下内容的.txt文件:

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()
。然而,我刚刚再次测试了它,它并没有产生我之前得到的结果。我不知道为什么现在的结果不同,但我会删除它。