Однажды Питон решил начать изучать я... :)
Однажды Питон решил начать изучать я... :)
Всех приветствую!
1. PythonCE - вещь, конечно, достойная в своем роде,но... после help() я не вижу интерактивной помощи...
2. Как запускать .py файлы?
3. Кто в каком блокноте пишет программы?
4. Что вы можете посоветовать почитать про особенности программирования в Python на Pocket PC?
5. Что вообще можно почитать на русском про Пион, кроме python.ru?
Заранее благодарен!
1. PythonCE - вещь, конечно, достойная в своем роде,но... после help() я не вижу интерактивной помощи...
2. Как запускать .py файлы?
3. Кто в каком блокноте пишет программы?
4. Что вы можете посоветовать почитать про особенности программирования в Python на Pocket PC?
5. Что вообще можно почитать на русском про Пион, кроме python.ru?
Заранее благодарен!
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
1. Помощь: python.org и скачиваем документацию

2. Кликаешь на него - он и запускается

3. Именно в нем

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
5. Есть список рассылки на http://zope.net.ru/ в нем общается большинство русскоговорящих Питон программистов. Почему то по Питону форумы не очень пошли, а вот почтовая конференция активна и удобна.
Книжки: у меня их 2: Роман Сузи Python изд. BHV и еще Программирование на Python. М.Лутц. Они хорошо дополняют друг друга - более чем достаточная документация
Книжки: у меня их 2: Роман Сузи Python изд. BHV и еще Программирование на Python. М.Лутц. Они хорошо дополняют друг друга - более чем достаточная документация

Гмм. еще момент про InputBox. Чтобы делать межплатформенные программы на Питоне, то лучше делать проверки в программе, типа:
import sys
...
if sys.platform == 'Pocket PC':
...
...
else:
...
Тогда на КПК будут вызываться специфические модули и функции (типа Input Box), а при запуске в других ОС ошибки не будет, свои команды и функции.
import sys
...
if sys.platform == 'Pocket PC':
...
...
else:
...
Тогда на КПК будут вызываться специфические модули и функции (типа Input Box), а при запуске в других ОС ошибки не будет, свои команды и функции.
Большое спасибо, Тихоня!
Следующая очередь вопросов...
1. С помощью разобрался. Всё гуд!
2. Как создать ассоциацию? (желательно по пунктам, как для тупых, ну или можно послать на доку)
3. С интерактивным режимом разобрася. А-ля навороченный калькулятор + логичный васик + человеческаий help + вкусные модули.
4. Как работать с графическим интерфейсом? (Что такое TK, TCL? Как модуль вызываю -- модуль не найден) Хотя бы азы с мелким примерчиком и пинок на доку.
PS для флейма: Perl глянул, тронул, нухнул -- не понравилось.
Заранее спасибо!
Следующая очередь вопросов...
1. С помощью разобрался. Всё гуд!
2. Как создать ассоциацию? (желательно по пунктам, как для тупых, ну или можно послать на доку)
3. С интерактивным режимом разобрася. А-ля навороченный калькулятор + логичный васик + человеческаий help + вкусные модули.
4. Как работать с графическим интерфейсом? (Что такое TK, TCL? Как модуль вызываю -- модуль не найден) Хотя бы азы с мелким примерчиком и пинок на доку.
PS для флейма: Perl глянул, тронул, нухнул -- не понравилось.
Заранее спасибо!
"Проще потушить в себе пламя свечи, чем с помощью него
зажечь другие сердца, создав Свет!" С. Лукъяненко.
Ubuntu 7.10 @ Eee PC 4G
JID: sugia-serge@jabber.ru
Moto A1200e
Ubuntu Linux
зажечь другие сердца, создав Свет!" С. Лукъяненко.
Ubuntu 7.10 @ Eee PC 4G
JID: sugia-serge@jabber.ru
Moto A1200e
Ubuntu Linux
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. Хахаха!


Насчет 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()
Вот так

Есть риск разжечь "религиозные войны"Serge_RUS писал(а): PS для флейма: Perl глянул, тронул, нухнул -- не понравилось.

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

Большое спасибо, Тихоня!
"Проще потушить в себе пламя свечи, чем с помощью него
зажечь другие сердца, создав Свет!" С. Лукъяненко.
Ubuntu 7.10 @ Eee PC 4G
JID: sugia-serge@jabber.ru
Moto A1200e
Ubuntu Linux
зажечь другие сердца, создав Свет!" С. Лукъяненко.
Ubuntu 7.10 @ Eee PC 4G
JID: sugia-serge@jabber.ru
Moto A1200e
Ubuntu Linux
Продолжаю череду вопросов про питон. 
1. Как откомпилировать программу?
2. Хочу сделать так, чтобы в определенное время мой ипак включался и начинал бы что-либо делать. Как осуществить включение в определенное время?
3. Как пользоваться функцией hook() у urllib?
Заранее спасибо!

1. Как откомпилировать программу?
2. Хочу сделать так, чтобы в определенное время мой ипак включался и начинал бы что-либо делать. Как осуществить включение в определенное время?
3. Как пользоваться функцией hook() у urllib?
Заранее спасибо!
"Проще потушить в себе пламя свечи, чем с помощью него
зажечь другие сердца, создав Свет!" С. Лукъяненко.
Ubuntu 7.10 @ Eee PC 4G
JID: sugia-serge@jabber.ru
Moto A1200e
Ubuntu Linux
зажечь другие сердца, создав Свет!" С. Лукъяненко.
Ubuntu 7.10 @ Eee PC 4G
JID: sugia-serge@jabber.ru
Moto A1200e
Ubuntu Linux
Был в отпуске, поэтому не мог ответить
) хехе..
1. Если имеется в виду машинный код, то никак. (вернее какие то средства были созданы под "настольный Windows" но они вряд ли будут развиваться за ненадобностью) Python создавался чтобы быть интерпретатором
2. Хехехе.. надо найти эти функции в WinCE API и скомпилироваться в eVC dll для Python. Тогда нужные низкоуровневые функции можно удобно применять в Питонских программах.

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

2. Хехехе.. надо найти эти функции в WinCE API и скомпилироваться в eVC dll для Python. Тогда нужные низкоуровневые функции можно удобно применять в Питонских программах.
Спасибо!
"Проще потушить в себе пламя свечи, чем с помощью него
зажечь другие сердца, создав Свет!" С. Лукъяненко.
Ubuntu 7.10 @ Eee PC 4G
JID: sugia-serge@jabber.ru
Moto A1200e
Ubuntu Linux
зажечь другие сердца, создав Свет!" С. Лукъяненко.
Ubuntu 7.10 @ Eee PC 4G
JID: sugia-serge@jabber.ru
Moto A1200e
Ubuntu Linux
Опять-таки для флейма: Питон для КПК (по крайней мере, для Завра) малопригоден в чистом виде (если взять и скомпилить исходники) из-за своей тормознутости - интерпретатор все-таки... В прошивке pdaX тормознутость Питоновских PIM-программ привела е необходимости переписывать их все заново на Си, чем одна добрая душа сейчас и занимается...
Zaurus C3000