Skip to main content
 首页 » 编程设计

python之如何将带有分隔符的字符串转换为 Python 中的字符串列表

2025年05月04日25zhoujg

我正在查询数据库并获取此文本:

"('username', '192.168.1.1', datetime.datetime(2013, 1, 3, 7, 18))" 

我想像这样拆分成列表:

['username', '192.168.1.1', datatime.datetime(2013, 1, 3, 7, 18)] 

那么,哪种方式最好呢?我正在使用 Python 2.4。

请您参考如下方法:

一种方法是使用 eval和 list :

>>> import datetime 
>>> string = "('username', '192.168.1.1', datetime.datetime(2013, 1, 3, 7, 18))" 
>>> list(eval(string)) 
['username', '192.168.1.1', datetime.datetime(2013, 1, 3, 7, 18)] 

eval 将字符串作为 Python 表达式求值,此处生成一个包含两个字符串的元组和一个 datetime 实例。 list 将此元组转换为列表。


警告:eval 可能会执行任何有效的 Python 代码,甚至是恶意代码。有更安全的选择,例如 ast.literal_eval如果您不确定是否信任数据库中的内容,可以使用它。