我正在将一个文件读入 python 2.4,其结构如下:
field1: 7
field2: "Hello, world!"
field3: 6.2
这个想法是将其解析成一个字典,该字典需要fieldfoo
作为键,冒号后面的任何内容作为值。
我想将冒号后面的任何内容转换为“实际”数据类型,即'7'
应转换为int
, "Hello, world!"
到字符串等。需要解析的唯一数据类型是整数、浮点数和字符串。 python 标准库中是否有一个函数可以让人们轻松地进行这种转换?
唯一应该用来解析的东西是我写的,所以(至少在这种情况下)安全不是问题。
首先将您的输入解析为像这样的对列表fieldN: some_string
。您可以轻松地做到这一点re
模块,或者可能更简单,通过索引左右切片line.strip().find(': ')
。然后对值使用文字 evalsome_string
:
>>> import ast
>>> ast.literal_eval('6.2')
6.2
>>> type(_)
<type 'float'>
>>> ast.literal_eval('"Hello, world!"')
'Hello, world!'
>>> type(_)
<type 'str'>
>>> ast.literal_eval('7')
7
>>> type(_)
<type 'int'>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)