将字符串转换为元组并添加到元组

gio*_*lio 4 python string tuples

我有这样的配置文件.

[rects]
rect1=(2,2,10,10)
rect2=(12,8,2,10)
Run Code Online (Sandbox Code Playgroud)

我需要遍历值并将它们转换为元组.然后我需要像元组那样制作一个元组元组

((2,2,10,10), (12,8,2,10))
Run Code Online (Sandbox Code Playgroud)

li.*_*idm 11

您也可以使用ast模块的literal_eval函数,而不是使用正则表达式或int /字符串函数,该函数仅评估有效Python文字的字符串.这个功能是安全的(根据文档). http://docs.python.org/library/ast.html#ast.literal_eval

import ast
ast.literal_eval("(1,2,3,4)") # (1,2,3,4)
Run Code Online (Sandbox Code Playgroud)

并且像其他人所说的那样,ConfigParser可以解析INI文件.


Dav*_*ver 9

要打开字​​符串转换为整数的元组(这是,我认为,你想要的),你可以使用这样的正则表达式:

x = "(1,2,3)"
t = tuple(int(v) for v in re.findall("[0-9]+", x))
Run Code Online (Sandbox Code Playgroud)

你也可以使用,比如说,configparser解析配置文件.