Однажды Питон решил начать изучать я... :)

Средства разработки, технические вопросы, отвечает (по мере сил) Отдел Разработок
Аватара пользователя
Serge_RUS
Академик (6 lvl)
Сообщения: 1134
Зарегистрирован: Вс мар 13, 2005 20:00

Однажды Питон решил начать изучать я... :)

Сообщение Serge_RUS » Вт июн 27, 2006 11:15

Всех приветствую!

1. PythonCE - вещь, конечно, достойная в своем роде,но... после help() я не вижу интерактивной помощи...

2. Как запускать .py файлы?

3. Кто в каком блокноте пишет программы?

4. Что вы можете посоветовать почитать про особенности программирования в Python на Pocket PC?

5. Что вообще можно почитать на русском про Пион, кроме python.ru?

Заранее благодарен!

Аватара пользователя
Тихоня
Доктор (4 lvl)
Сообщения: 349
Зарегистрирован: Ср окт 29, 2003 14:04

Сообщение Тихоня » Вт июн 27, 2006 13:24

Python очень хороший язык программирования. Межплатформенный, т.е. можно создать программу, которая одинаково запустится почти на любой распространенной ОС. PythonCE почти полностью совместим с версией для ПК.

1. Помощь: python.org и скачиваем документацию :-) (поставил CHMeBookReader на КПК и пользуюсь хелпом от "настольного" Питона)

2. Кликаешь на него - он и запускается :-) (если нет - то надо создать ассоциацию на расширение py и pyw)

3. Именно в нем :-) Pocket Notepad. (еще можно в TotalCommander или lgtEditor) Но думаю сделать свой редактор: чтобы настраивалась ширина табуляции, были автоотступы. (сейчас времени нет, буду делать наверное осенью)

4. Python это межплатформенная разработка ПО. Совместимость Python для Windows и для Windows CE почти полная.
Но есть некоторые недоработки:
- про консольные программы лучше забыть. Консольный ввод глючит.
*Выход*: создать графический интерфейс с виджетом типа Text и перенаправить системные потоки ввода/вывода в него и соответствующие функции.

- в Pocket Tcl/Tk в виджеты нельзя ввести русский текст с экранной клавиатуры (получаются странные символы и квадратики)
*Выход*: сделал Python C модуль с функцией InputBox. Вводить/редактировать строки на русском можно через нее.

- в Pocket Tcl/Tk если создать окно на весь экран, то при изменении конфигурации виджетов размеры окна могут слететь.
*Выход*: задать размеры окна меньше экрана, тогда глюк исчезает
root = Tk()
root.geometry('100x100+10+10')
root.state('zoomed')

- в Pocket Tcl/Tk не поддерживаются меню (ошибки не происходит, просто меню не отображается)
*Выход*: вместо меню пользуемся Button

- при отработке движения стилуса и сообщений <Motion> некоторые отчеты каждую секунду сбойные: (x, y) = (-3, 14199456) Это критично для виджета Scale
*Выход*: в своих программах в обработчике Motion вставляем проверку:
if x<0: return
(если нужен Scale - пишем его сами :-) )


Отмечу, что PythonCE очень надежен (у меня не было сбоев, зависаний с ним).

На моей личной страничке выложу архивчик mylibs.zip в нем InputBox (под ARM процессоры) и некоторые полезные функции для Win CE

Аватара пользователя
Тихоня
Доктор (4 lvl)
Сообщения: 349
Зарегистрирован: Ср окт 29, 2003 14:04

Сообщение Тихоня » Вт июн 27, 2006 13:36

5. Есть список рассылки на http://zope.net.ru/ в нем общается большинство русскоговорящих Питон программистов. Почему то по Питону форумы не очень пошли, а вот почтовая конференция активна и удобна.

Книжки: у меня их 2: Роман Сузи Python изд. BHV и еще Программирование на Python. М.Лутц. Они хорошо дополняют друг друга - более чем достаточная документация :-)

sshd
Нобелевский лауреат (7 lvl)
Сообщения: 2159
Зарегистрирован: Вс мар 19, 2006 15:55

Сообщение sshd » Вт июн 27, 2006 13:43

Тихоня писал(а):Python очень хороший язык программирования. Межплатформенный, т.е. можно создать программу, которая одинаково запустится почти на любой распространенной ОС.
так же, как и perl :)
Samsung GT-S8500 + MicroSD 8Gb

Аватара пользователя
Тихоня
Доктор (4 lvl)
Сообщения: 349
Зарегистрирован: Ср окт 29, 2003 14:04

Сообщение Тихоня » Вт июн 27, 2006 13:45

Гмм. еще момент про InputBox. Чтобы делать межплатформенные программы на Питоне, то лучше делать проверки в программе, типа:
import sys

...
if sys.platform == 'Pocket PC':
...
...
else:
...

Тогда на КПК будут вызываться специфические модули и функции (типа Input Box), а при запуске в других ОС ошибки не будет, свои команды и функции.

Аватара пользователя
Тихоня
Доктор (4 lvl)
Сообщения: 349
Зарегистрирован: Ср окт 29, 2003 14:04

Сообщение Тихоня » Вт июн 27, 2006 13:46

sshd писал(а):так же, как и perl :)
Кстати, видели в новостях: среда для TCL под Pocket PC - тоже интересный вариант :-) (интересно там с экранной клавой в юникод есть проблемы или нет гммм..)

Аватара пользователя
Serge_RUS
Академик (6 lvl)
Сообщения: 1134
Зарегистрирован: Вс мар 13, 2005 20:00

Сообщение Serge_RUS » Вт июн 27, 2006 14:40

Большое спасибо, Тихоня!

Следующая очередь вопросов...

1. С помощью разобрался. Всё гуд!

2. Как создать ассоциацию? (желательно по пунктам, как для тупых, ну или можно послать на доку)

3. С интерактивным режимом разобрася. А-ля навороченный калькулятор + логичный васик + человеческаий help + вкусные модули.

4. Как работать с графическим интерфейсом? (Что такое TK, TCL? Как модуль вызываю -- модуль не найден) Хотя бы азы с мелким примерчиком и пинок на доку.

PS для флейма: Perl глянул, тронул, нухнул -- не понравилось.

Заранее спасибо!
"Проще потушить в себе пламя свечи, чем с помощью него
зажечь другие сердца, создав Свет!" С. Лукъяненко.
Ubuntu 7.10 @ Eee PC 4G
JID: sugia-serge@jabber.ru
Moto A1200e
Ubuntu Linux

Аватара пользователя
Тихоня
Доктор (4 lvl)
Сообщения: 349
Зарегистрирован: Ср окт 29, 2003 14:04

Сообщение Тихоня » Вт июн 27, 2006 15:17

2. Ставим на КПК файловый менеджер (GSFinder к примеру), там в опциях есть работа с ассоциациями файлов (как в обычном Windows) Т.е. создаем тип файлов pyw ассоциация на python.exe и для py тоже самое. (и для pyc можно) (но вообще странно, ассоциации должны были выставиться при установке PythonCE, вы последнюю версию ставили? Python-2.4.3-20060430 должна быть (в ней исправили некоторые ошибки)) Кликаем на файлы - они должны запускаться гмм..

4. Хахаха! :-) Здесь проще книжку купить :-)
Насчет Tcl/Tk поясняю. Современные языки программирования не включают в себя какие то особые системы графич. интерфейса, а способны через соответствующие библиотеки работать почти со всеми существующими (Tcl/Tk, wxWindow, Windows GUI/GDI, GTK и много др.). По умолчанию обычно ставится/используется Tcl/Tk, как одна из самых мощных и переносимых систем графического интерфейса (Tcl это язык программирования для задач гр. интерфейса и интеграции приложений, Tk - графич. библиотека к нему). Т.е. хоть из Perl, хоть из Python, хоть из OCAML или Mozart можно обращаться к Tcl/Tk.

В PythonCE поддержка Tcl/Tk встроена, но саму Tcl/Tk надо ставить дополнительно. на http://sourceforge.net/projects/pythonce/
идем в download, открываем View older releases in the pythonce package » и в самом низу - в первом релизе скачиваем архив Tkinter-Files.zip. В нем папки, которые надо скопировать в корень файловой системы (dll в Windows и каталоги с графич. системой).


Простенький пример из Питона (Tkinter это Питон модуль связи с Tcl/Tk):

# coding: cp1251

from Tkinter import *

root = Tk()
root.title(u'Моя программа :-)')

Label(root, text=u'Привет!').pack()
Button(root, text=u'Закрыть', command=root.quit).pack()

root.mainloop()

Вот так :-) Может быть немного запутанно разъяснил, но на самом деле все просто и удобно. через Tkinter просто и быстро создавать оконные программы.

Аватара пользователя
Тихоня
Доктор (4 lvl)
Сообщения: 349
Зарегистрирован: Ср окт 29, 2003 14:04

Сообщение Тихоня » Вт июн 27, 2006 15:21

Serge_RUS писал(а): PS для флейма: Perl глянул, тронул, нухнул -- не понравилось.
Есть риск разжечь "религиозные войны" :-)
Но все таки замечу:
Perl как прикладной язык высокого уровня не очень то хорош. Он заточен под свои задачи. А Питон - полноценный современный язык для создания прикладного софта. Включает в себя ООП, процедурную и частично функциональную парадигму, что значительно повышает выразительность. Perl и Python как бы противоположны по синтаксису :-) В Питоне важна хорошая семантика, синтаксис, выразительность, это помогает делать большие и очень большие проекты.

sshd
Нобелевский лауреат (7 lvl)
Сообщения: 2159
Зарегистрирован: Вс мар 19, 2006 15:55

Сообщение sshd » Вт июн 27, 2006 15:30

Тихоня писал(а):Включает в себя ООП, процедурную и частично функциональную парадигму
ООП и в perl'е есть.
хотя конечно прошлое даёт о себе знать..... :)
всё-таки изначально он был языком для парсинга логов....
Samsung GT-S8500 + MicroSD 8Gb

Аватара пользователя
Serge_RUS
Академик (6 lvl)
Сообщения: 1134
Зарегистрирован: Вс мар 13, 2005 20:00

Сообщение Serge_RUS » Вт июн 27, 2006 15:30

Большое спасибо, Тихоня!
"Проще потушить в себе пламя свечи, чем с помощью него
зажечь другие сердца, создав Свет!" С. Лукъяненко.
Ubuntu 7.10 @ Eee PC 4G
JID: sugia-serge@jabber.ru
Moto A1200e
Ubuntu Linux

Аватара пользователя
Serge_RUS
Академик (6 lvl)
Сообщения: 1134
Зарегистрирован: Вс мар 13, 2005 20:00

Сообщение Serge_RUS » Вс июл 09, 2006 00:22

Продолжаю череду вопросов про питон. :)
1. Как откомпилировать программу?
2. Хочу сделать так, чтобы в определенное время мой ипак включался и начинал бы что-либо делать. Как осуществить включение в определенное время?
3. Как пользоваться функцией hook() у urllib?

Заранее спасибо!
"Проще потушить в себе пламя свечи, чем с помощью него
зажечь другие сердца, создав Свет!" С. Лукъяненко.
Ubuntu 7.10 @ Eee PC 4G
JID: sugia-serge@jabber.ru
Moto A1200e
Ubuntu Linux

Аватара пользователя
Тихоня
Доктор (4 lvl)
Сообщения: 349
Зарегистрирован: Ср окт 29, 2003 14:04

Сообщение Тихоня » Пн июл 31, 2006 10:53

Был в отпуске, поэтому не мог ответить :-)) хехе..

1. Если имеется в виду машинный код, то никак. (вернее какие то средства были созданы под "настольный Windows" но они вряд ли будут развиваться за ненадобностью) Python создавался чтобы быть интерпретатором :-)

2. Хехехе.. надо найти эти функции в WinCE API и скомпилироваться в eVC dll для Python. Тогда нужные низкоуровневые функции можно удобно применять в Питонских программах.

Аватара пользователя
Serge_RUS
Академик (6 lvl)
Сообщения: 1134
Зарегистрирован: Вс мар 13, 2005 20:00

Сообщение Serge_RUS » Пн июл 31, 2006 16:48

Спасибо!
"Проще потушить в себе пламя свечи, чем с помощью него
зажечь другие сердца, создав Свет!" С. Лукъяненко.
Ubuntu 7.10 @ Eee PC 4G
JID: sugia-serge@jabber.ru
Moto A1200e
Ubuntu Linux

Reaper
Академик (6 lvl)
Сообщения: 1269
Зарегистрирован: Вс окт 19, 2003 13:24

Сообщение Reaper » Чт авг 03, 2006 13:44

Опять-таки для флейма: Питон для КПК (по крайней мере, для Завра) малопригоден в чистом виде (если взять и скомпилить исходники) из-за своей тормознутости - интерпретатор все-таки... В прошивке pdaX тормознутость Питоновских PIM-программ привела е необходимости переписывать их все заново на Си, чем одна добрая душа сейчас и занимается...
Zaurus C3000

Закрыто

Вернуться в «Программирование для КПК»