PHP Inside

 
   
 

Главная


Начало
страница1
страница2
страница3
страница4
страница5
страница6
страница7
страница8
страница9
страница10
страница11
страница12
страница13
страница14
страница15
страница16
страница17
страница18
страница19
страница20
страница21
страница22
страница23
страница24
страница25
страница26
страница27
страница28
страница29
страница30
страница31
страница32
страница33
страница34
страница35
страница36
страница37
страница38
страница39
страница40
страница41
страница42
страница43
страница44
страница45
страница46
страница47
страница48
страница49
страница50
страница51
страница52
страница53
страница54
страница55
страница56
страница57
страница58
страница59
страница60
страница61
страница62
страница63
страница64
страница65
страница66
страница67
страница68
страница69
страница70
страница71
страница72
страница73
страница74
страница75
страница76
страница77
страница78
страница79
страница80
страница81
страница82
страница83
страница84
страница85
страница86
страница87
страница88
страница89

 
 
 

 

 

В среде Windows вам может понравить­ ся работа с графической оболочкой IDLE (http://www.python.org/idle/doc/idlemain.html). По большому счёту , работа в ней мало чем отличается от работы в интерактивном ре­ жиме интерпретатора , но ряд дополни­ тельных возможностей ( загрузка и сохра­нение файлов , подсветка синтаксиса , бо­ лее удобный доступ к документации ) могут вам понравиться .

Однако найти инструмент , сравнимый с IPython по своим возможностям выпол­ нять роль стандартной командной обо­ лочки , позволяющей легко комбинировать программирование на Python с системны­ми командами , мне не удалось .

Так вот , помимо возможности использовать упомянутые выше инструменты , IPython предоставляет ещё несколько функций , заметно упрощающих перемещение по катало­гам . Прежде всего это функция dhist:

[/usr~]|3> dhist

Directory history (kept in _dh)

0: /

1: /usr/hcoe/amsand

2: /usr/home/smsand/ . ipython

3: /usr/local/lib/python2 5/Eite-packagas/IPython

4: /usr/ports

5: /usr/home/amsand

Это история перемещения по каталогам , использовать которую гораздо удобнее , чем общую историю команд - просто указываете в качестве параметра функции cd но­ мер строки из истории и попадаете куда хочется :

[/usr~]|4> cd -2

/usr/home/amsand/ . ipython

Конечно , если вы умудритесь создать каталоге именем « -2 » , то так просто попасть в него не сможете . Как в bash ( используя синтаксис « cd - -2 » ), к сожалению , тоже не по - пучится . Впрочем , у нас есть Python: « os.chdirf-2') » превос­ходно решит задачу .

Кстати , просто « cd - » , как и в bash, вернёт вас в преды­дущий каталог .

Ещё одна полезная «магическая» функция - %bookmark, позволяющая создавать «закладки» на часто посещае­ мые каталоги :

 

Как видите , IPython почти ни в чём не уступает таким развитым командным оболочкам , как bash и csh. Даже без учёта её интеграции с языком Python она становится очень привлекательна для постоянного использования .

Другие оболочки

Если попытаться поискать другие интерак­ тивные оболочки для языка Python, то мож­ но найти ещё несколько проектов , которые будут полезны разработчикам , использую­ щим этот язык . Например , система Reinteract (http://www.reinteract.org/trac) предоставляет возможность работать с Python в интер­ активном режиме . В отличие от IPython и интерактивного режима интерпретатора здесь очень легко отправлять на выполне­ ние целые блоки кода - набираете ваш код , как в обычном редакторе , для выполнения нажимаете <Ctrl> + <Enter>. Хотя меня , ес­ли честно , она не очень поразила .

Проект Leo (http://webpages.charter.net/ edreamleo/front.html) очень интересен как среда разработки : помимо редактирова-

Все эти особенности ( подробнее в документации ) заметно приближа­ ют IPython по удобству работы к обыч­ ным командным оболочкам операци­ онной системы . Но всё же некоторые «неудобства» остаются . Тем не менее и от них можно избавиться ...

IPython как командная оболочка

Итак , как же можно ещё больше при­ близить поведение IPython к поведе­ нию привычной нам командной обо­ лочки ? Как мы видели выше , сущест­ вует один механизм , позволяющий выполнять системные команды непо­средственно в IPython без необходи­ мости использовать какие - либо до­ полнительные символы , - это псев­ донимы .

Но , согласитесь , было бы весьма утомительно вручную создавать их хотя бы для основных системных команд . Од­нако есть две «магические» функции , %rehash и %rehashx, которые сделают за вас всю «чёрную» работу - они выпол­ няют обход каталогов из переменной окружения $ РАТН и ав­ томатически создают псевдонимы для всех найденных фай­ лов . Отличаются они тем , что %rehashx создаёт псевдони­ мы только для файлов , которые текущий пользователь име­ ет право исполнять . Поэтому её использование предпочти­ тельней , хотя она и выполняется несколько медленнее .

Чтобы каждый раз после входа в оболочку не зани­ маться её настройками под свои предпочтения , IPython поддерживает так называемые профили . Параметры про­ филей хранятся в каталоге .ipython в файлах ipythonrc- < имя _ профиля >. Здесь можно задать вид приглашения командной строки , псевдонимы и прочие параметры . За­ пуск оболочки с поддержкой соответствующего профи­ ля выполняется командой « ipython -p < имя _ профиля > » . Кстати , общие настройки оболочки можно найти в файле ipythonrc - не исключено , что вам захочется подправить что - то «глобально» .

Однако наиболее удобным для запуска IPython в режи­ ме командной оболочки представляется встроенный про­ филь sh. Запустите следующую команду : « ipython -p sh » . В результате ipython запустится с более удобным пригла­ шением ( отображающим текущий каталог ), автоматичес­ки выполнит функцию %rehashx, активирует расширение envpersist ( которое сохраняет изменения переменных ок­ружения между сессиями ), а также наделит IPython неко­торыми другими функциями , удобными именно в режиме командной оболочки .

Здесь , думаю , уместно пару слов сказать об одной из важнейших функций командной оболочки - перемеще­ нии по каталогам . Казалось бы , что здесь важного - « cd » в нужный каталог , и всё . Но когда в процессе работы посто­ янно приходится перемещаться между /usr/local/etc/apache, /var/log, /usr/home/www/public_html, /var/tmp и другими ката­логами , то начинаешь вспоминать о таких вещах , как исто­рия команд , утилиты pushd/popd и т . п .