@Guerro69

Как преобразовать кортеж в строке в кортеж?

Суть в том, что для одной программы я решил использовать файл с конфигурациями и в этом файле есть значение в формате rgb которое является кортежем для python, когда я спарсил это значение с файла, оно как не удивительно является строкой и хотелось бы достать этот кортеж из строки, чтобы python распознавал его как кортеж, а не строку. Вот код:
import re

with open('settings.cfg','r') as f:
	txt = f.read()
	color_symbols = re.findall(r'ColorSymbols.+;', txt)[0].split(' > ')[1].replace(';','')

print(type(color_symbols), color_symbols)

<class 'str'> (255,0,0)
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
from ast import literal_eval

a = '(255,0,0)'
b = literal_eval(a)

print(type(b), b)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
a = '(255,0,0)'
b = tuple(int(element) for element in a[1:-1].split(','))
print(type(b), b)

(Сделал свой велосипедик из варианта SoreMix чисто порешать задачку; не уверен, что правильно, но кажется должно работать).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы