Skip to main content
 首页 » 编程设计

python之提取字符串中的列表或元组

2025年05月04日42mfrbuaa

我正在从通过以太网连接的外部设备获取输入,它正在传递多个字符串类型的值,例如值 = '(2,2)\n'。我想将这些值分配给列表或元组变量,例如最终值 = (2,2)。 我使用的代码如下:

import socket 
sock = socket.socket() 
value =sock.recv(buffersize=2048) 
formatted_value = eval(value) 

我读到我现在使用的eval 函数来获取列表并不是一种非常安全的方法,因为外部设备可能会传递一个危险的脚本。所以,我想知道是否有任何替代方法,类似于函数 int(),可用于从字符串中获取整数。

请您参考如下方法:

使用ast用于更安全评估的模块 literal_eval 方法

import ast 
formatted_value = ast.literal_eval(value)