Форум сайта python.su
Конечно. Ведь вы выполняете для вывода в шелле
print '|'+i+' |'+prob, print p[int(c_)][i]
ms = ms + prob
Офлайн
Exception in Tkinter callback
Traceback (most recent call last):
File “C:\Python27\lib\lib-tk\Tkinter.py”, line 1410, in __call__
return self.func(*args)
File “C:\Python27\Копия 1.py”, line 106, in <lambda>
but.bind(“<Button-1>”, lambda e: get_course(c, win7, ms))
File “C:\Python27\Копия 1.py”, line 79, in get_course
ms = ms + ‘|’ + i + ‘ |’ + prob + p + “\n”
TypeError: cannot concatenate ‘str’ and ‘int’ objects
Офлайн
Решение проблемы (попытка соединить целое число и строку):
ms = ms +'|' + str(i) + ' |' + str(prob) + str(p) + '\n'
ms = ms +"| %s | %s %s \n" %(i, prob, p)
ms = ms +"| {0} | {1} {2} \n".format(i, prob, p)
Отредактировано 4kpt (Янв. 4, 2013 18:06:49)
Офлайн
хорошо хоть одна проблема решена-уже выводит в окне информ.но
|visible | [{'visible': 1, ‘id’: 1, ‘maxbytes’: 0, ‘categoryid’:0…………………и тд
|id | [{'visible': 1, ‘id’: 1, ‘maxbytes’: 0, ‘categoryid’:0…………………и тд
|maxbytes | [{'visible': 1, ‘id’: 1, ‘maxbytes’: 0, ‘categoryid’:0…………………и тд
|categoryid | [{'visible': 1, ‘id’: 1, ‘maxbytes’: 0, ‘categoryid’:0…………………и тд
|showreports | [{'visible': 1, ‘id’: 1, ‘maxbytes’: 0, ‘categoryid’:0…………………и тд
|startdate | [{'visible': 1, ‘id’: 1, ‘maxbytes’: 0, ‘categoryid’:0…………………и тд
|defaultgroupingid | [{'visible': 1, ‘id’: 1, ‘maxbytes’: 0, ‘categoryid’:0…………………и тд
|summaryformat | [{'visible': 1, ‘id’: 1, ‘maxbytes’: 0, ‘categoryid’:0…………………и тд
|completionstartonenrol | [{'visible': 1, ‘id’: 1, ‘maxbytes’: 0, ‘categoryid’:0…………………и тд
|groupmode | [{'visible': 1, ‘id’: 1, ‘maxbytes’: 0, ‘categoryid’:0…………………и тд
.
.
.
.
и т.д.
т.е выводится и по горизонтали и по вертикали одно и то же(
Офлайн
Дайте новый листинг…
И дайте хотя-бы одну строку полностью.
Отредактировано 4kpt (Янв. 4, 2013 18:46:07)
Офлайн
from Tkinter import* root = Tk() def close(event = None): print "try_die" def next_window2(ms): win1 = Toplevel() win1.title("ОНМУ") label2=Label(win1,text="Информация о курсе:") # метки label2.grid(row=1,column=1) label3=Label(win1,text="Инфо:") label3.grid(row=3,column=2) label3['text'] = ms but=Button(win1,text="Закрыть", width=50, height=2, bg="white", fg="blue") # Кнопки but.grid(row=2,column=2,padx=5,pady=5) but.bind("<Button-1>", lambda x: win1.destroy()) print u'Операция завершена' def get_course(c, win7, ms): c_ = c.get() mdl = MDL() print mdl.conn_xmlrpc(server) courses = ((c_),) p = mdl.get_courses(server) for i in p[int(c_)].keys(): stroka = len(i) prob = ' '*(30 - stroka) print '|'+i+' |'+prob, print p[int(c_)][i] # ms = ms +'|' + str(i) + ' |' + str(prob) + str(p) + '\n' #ms = ms +"| %s | %s %s \n" %(i, prob, p) ms = ms +"| {0} | {1} {2} \n".format(i, prob, p) win7.destroy() next_window2(ms) def new6(event = None): ms = '' win7 = Toplevel() win7.title("Ввод данных") lbl1 = Label(win7, text = u"Введите номер курса") lbl1.grid(row=1,column=0,columnspan=2) c = Entry(win7, width="20") c.focus_force() c.grid(row=1,column=2,columnspan=2) but=Button(win7,text="Получить", width=18, height=2,) but.grid(row=2,column=2,ipadx=5,padx=10,pady=5) but.bind("<Button-1>", lambda e: get_course(c, win7, ms)) but2=Button(win7,text="Закрыть", width=50, height=2, bg="white", fg="blue") # Кнопки but2.grid(row=3,column=2,ipadx=5,padx=10,pady=5) but2.bind("<Button-1>", lambda x: win7.destroy()) new6() root.mainloop()
|visible | 1 |id | 4 |maxbytes | 2097152 |categoryid | 2 |showreports | 0 |startdate | 1351713600 |defaultgroupingid | 0 |summaryformat | 1 |completionstartonenrol | 0 |groupmode | 0 |numsections | 10 |showgrades | 1 |shortname | ТРО |enablecompletion | 0 |hiddensections | 0 |format | weeks |completionnotify | 0 |fullname | Теория Распознавания Образов 4 |lang | |categorysortorder | 20003 |timecreated | 1351700037 |groupmodeforce | 0 |forcetheme | |summary | |idnumber | 4 |newsitems | 5 |timemodified | 1355138540
Отредактировано Ystritsa (Янв. 4, 2013 19:52:48)
Офлайн
Пробуем еще. Строку
ms = ms +"| {0} | {1} {2} \n".format(i, prob, p)
ms = ms +"| {0} | {1} {2} \n".format(i, prob, p[int(c_)][i])
Офлайн
не,я уже пробывала такое(
File "C:\Python27\Копия 1.py", line 81, in get_course ms = ms +"| {0} | {1} {2} \n".format(i, prob, p[int(c_)][i]) UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
Отредактировано Ystritsa (Янв. 5, 2013 02:59:29)
Офлайн
Попробуйте поменять строку:
ms = ms +"| {0} | {1} {2} \n".format(i, prob, p[int(c_)][i])
ms = ms +u"| {0} | {1} {2} \n".format(i, prob, p[int(c_)][i])
Офлайн
да,спасибо Вам,это помогло!
Офлайн