我有一个文件,其中充满了某种格式的数据,我想用该数据填充我自己的数据结构
例如,我可以有一个这样的文件:
John - Smith : 0123
children:
Sam
Kim
我想用该字符串做一些事情,以便将数据提取到例如
firstName = "John"
lastName = "Smith"
number = "0123"
children = ['Sam', 'Kim']
我希望有一种比使用分隔符更简单的方法..
最佳答案
这是一个正则表达式解决方案:
>>> import re
>>> data = 'John - Smith : 0123\nchildren: \n Sam\n Kim'
>>> match = re.match(r'(\w+) - (\w+) : (\d+).*?children:(.*)', data, re.S)
>>> match.groups()
('John', 'Smith', '0123', ' \n Sam\n Kim')
然后您可以将组分配给您的变量:
>>> firstName, lastName, number = match.groups()[:3]
>>> children = [c.strip() for c in match.group(4).strip().split('\n')]
结果...
>>> firstName
'John'
>>> lastName
'Smith'
>>> number
'0123'
>>> children
['Sam', 'Kim']
关于python - 使用 python 反向模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8001537/