在 Python 中将字符串解释为其他数据类型

2023-12-12

我正在将一个文件读入 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(使用前将#替换为@)

在 Python 中将字符串解释为其他数据类型 的相关文章

随机推荐