![]() |
Поделиться |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Поделиться |
![]()
Сообщение
#1
|
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Глоб. Модератор Сообщений: 10161 Регистрация: 22.6.2009 Вставить ник Цитата Из: Онега Пользователь №: 1352 Страна: Россия Город: Не указан Пол: Муж. Репутация: ![]() ![]() ![]() |
Несколько дней назад начал пробовать связку Python + Tkinter. С чего началось - сказано здесь . Какие первые выводы?
Прежде всего, убедился, что это удачный выбор. Да, мне нужен именно объектно-ориентированный язык (подходит к моей голове намного лучше, чем какой-то иной - сужу по bash) , именно интерпретируемый (в компилируемом замучился бы с правкой исходников) и именно в паре с графической библиотекой (надо же иногда видеть питоновские объекты воочию ![]() Так что в принципе вопрос решён : буду осваивать Python, причём в связке с Tkinter'ом. Какие проблемы? Если кратко, то всё время возникают мелкие вопросы, ответы на которые обычно проще найти самому, чем спрашивать у других. Кавычки, отступы, методы, аргументы... и иной раз сложно сразу найти справку о том, что именно делать. Пакет документации к Питону установил, но и он не всегда помогает. Питон хорошо документирован, но не всегда могу сообразить, где именно искать нужную информацию. Вот такой разве что вопрос могу задать (потому что он как раз не мелкий) : как лучше чайнику писать программы : в виде одного скрипта или в виде нескольких скриптов, выполняющих каждый свою часть работы? Спрашиваю потому что, по-моему, проще передавать данные из одного простенького скрипта в другой подобный же, чем соединять их в один сложный - у меня тут с переменными какие-то непонятки : по отдельности скриптики работают, а соединишь - начинается нечто непонятное. Или лучше сначала с переменными как следует разобраться? -------------------- Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
|
|
|
![]() |
![]()
Сообщение
#2
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: ![]() ![]() ![]() |
Со справкой получилось все отлично , я нашел кстати в чем глюк с mirage:
Попробуй открыть папку с картинками с кирилическим именем например ~/Обои , на этом все рушится : Код Exception in Tkinter callback Traceback (most recent call last): File "/usr/lib/python2.5/lib-tk/Tkinter.py", line 1414, in __call__ return self.func(*args) File "wmfon.py", line 85, in prosmotr f_name(event) File "wmfon.py", line 91, in f_name vybor(event) File "wmfon.py", line 66, in vybor strrnew=strru + fimg +strrd UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 12: ordinal not in range(128) <Tkinter.Event instance at 0xb6e4afac> *** Exited with status 1 *** в самом wmfon проблема решается так: Код os.path.expanduser('~') f = open(os.path.expanduser('~')+'/GNUstep/Defaults/WindowMaker','r',2) strr = f.read().decode('utf-8') f.close i = strr.find('WorkspaceBack = (') j = strr.find('\"',i) k = strr.find('\"',j+1) strru=strr[:j+1] strrd=strr[k:] strrnew=strru + fimg +strrd f = open(os.path.expanduser('~')+'/GNUstep/Defaults/WindowMaker','w',2) f.write(strrnew.encode('utf-8')) f.close видимо проблема где-то в mirage, при попытке записи пути файла. надо подключить к ней модуль codecs и доработать запись имени файла, хотя возможно еще f_name косячит с кодировкой, погляди ![]() |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.9.2025, 9:51 |