Форум сайта python.su
Добрый день.
Описывать все не хочу что и как делаю))) уж больно долго и муторно. Нужна помощь вот в чем, есть куча переменных с присвоиными значаниями. Нужно как-то эти переменные со значениями поместить в словарь или куда еще)) То есть ключь это имя переменной, а значение, это значение. Как это сделать?) Голову сломал. Хотелось бы с помощью цикла. Заранее спасибо!
Офлайн
Вручную прописывать в словарь в виде {“х: ”: х, и тд}
Офлайн
a = 1 b = "vvv" class Foo: pass f = Foo() f.a = 45 print(locals()) print(f.__dict__)
Офлайн
Вручную прописывать я и сам бы догадался)))) Спасибо все равно.
Хочется не писать здоровееный код, написать красиво и эстетично)
Офлайн
babaiЛучше тогда было заносить значения не в кучу переменных, а в список например. А потом уже где надо циклом этот список выводить.
Вручную прописывать я и сам бы догадался)))) Спасибо все равно.Хочется не писать здоровееный код, написать красиво и эстетично)
Офлайн
Тут все не так просто.)) Я сделал окно на PyQt4 в котором куча строк всяких разных. Типа форма для заполнения. И две кнопки, сохранить и отмена. Так вот нужно чтоб по нажатию кнопки сохранить вся инфа с заполненных строк сохранялась где-то, а затем перенести ее в SQL базу. Так как каждая строка имеет свое имя, то я и хотел чтоб к этому имени присваивалось значение строки и куда-то записывалось, типа словаря. А потом уже из словоря перенести данные в SQL.
def save_info(self): sql_per =dict.fromkeys(["line1", "comboBox1", "line2", "comboBox2", "comboBox3", "line3", "textEdit1", "textEdit2", "line4", "line5", "line6", "line7", "comboBox4"]) for i in range(49, 55): sql_per["line%c" % i] = ("self.line%с.text()" % i)
Отредактировано babai (Янв. 12, 2016 09:01:01)
Офлайн
Извините, исправил)
Отредактировано babai (Янв. 12, 2016 08:59:42)
Офлайн
Нифига не понял, но вангую, что тебе нужены стандартные функции setattr и getattr
Офлайн
Понял, спасибо. Попробую покопать в этом направлении)))
Офлайн
Блин, ) рядом но не то))
for i in range(49, 55): sql_per["line%c" % i] = getattr(c, ("line%c % i.text()"))
Офлайн