所以我有一个包含以下内容的文本文件。
<lang:Foreign> <lang:foreign>
</lang:Foreign> </lang:foreign>
<lang: Foreign> <lang:foreign>
</lang: Foreign> </lang:foreign>
我的程序要做的是将行中的第一个文本映射到第二个。因此在字典中看起来像这样。
{<lang:Foreign> : <lang:foreign>}
flist = [line.split() for line in f]
for k, v in flist:
fdict.update({k: v})
我的映射代码在上面。但是问题是条目的最后两行
<lang: Foreign> <lang:foreign>
</lang: Foreign> </lang:foreign>
第一个条目之间有空格,我的代码将lang:和Foreign分开。但我想指定第一个条目包含一个空格。我尝试做以下
<lang:\sForeign> <lang:foreign>
</lang:\sForeign> </lang:foreign>
有什么主意可以告诉我的程序接受此空间并正确映射它吗?谢谢!
答案 0 :(得分:0)
只需使用不同的split参数。这应该为您工作:
line.split(' <')
答案 1 :(得分:0)
我建议使用正则表达式。使用以下模式匹配将为您提供每行用'<>'括起来的匹配模式的列表。
import re
pattern = re.compile(r'<.*?>')
flist = pattern.findall(line) # sample output of flist = ['<lang:Foreign>', '<lang:foreign>']
if len(flist) == 2:
fdict.update({flist[0]: flist[1]})
答案 2 :(得分:0)
我建议您分割“> <”,然后将“>”和“ <”添加回数组的第一和第二个元素。 像这样...
SQL
答案 3 :(得分:0)
在这里使用正则表达式可能最有意义。
Step 14/14 : RUN /etc/init.d/mysql status
---> Running in 7701598d1eff
MySQL Community Server 5.7.25 is not running.