Python读取列表时避免使用eval函数,可以采用以下方法:
import json
# 假设列表字符串为 '[1, 2, 3]'
list_str = '[1, 2, 3]'
# 将字符串转换为列表
my_list = json.loads(list_str)
# 打印列表
print(my_list)
优势:使用json模块进行转换更加安全,不会执行任意代码。
应用场景:适用于读取存储为JSON格式的列表数据。
推荐的腾讯云相关产品:腾讯云云服务器(CVM),腾讯云对象存储(COS)
import ast
# 假设列表字符串为 '[1, 2, 3]'
list_str = '[1, 2, 3]'
# 将字符串转换为列表
my_list = ast.literal_eval(list_str)
# 打印列表
print(my_list)
优势:使用ast模块进行转换更加安全,不会执行任意代码。
应用场景:适用于读取存储为字符串格式的列表数据。
推荐的腾讯云相关产品:腾讯云函数计算(SCF),腾讯云数据库(TencentDB)
def parse_list(list_str):
# 假设列表字符串为 '[1, 2, 3]'
list_str = list_str.strip('[]') # 去除字符串两端的方括号
elements = list_str.split(',') # 按逗号分割字符串
my_list = [int(element.strip()) for element in elements] # 将字符串元素转换为整数并生成列表
return my_list
# 调用自定义解析函数
list_str = '[1, 2, 3]'
my_list = parse_list(list_str)
# 打印列表
print(my_list)
优势:可以根据具体的字符串格式进行灵活解析。
应用场景:适用于特定格式的列表字符串解析。
推荐的腾讯云相关产品:腾讯云云函数(SCF),腾讯云数据库(TencentDB)
以上是避免使用eval函数读取列表的几种方法,根据具体场景选择合适的方法进行使用。
领取专属 10元无门槛券
手把手带您无忧上云