Python shell что это

Как запускать код на Python в терминале (Python Shell)

Дата: 20.03.2019 Категория: Python Комментарии: 0

Python shell что это. python shell. Python shell что это фото. Python shell что это-python shell. картинка Python shell что это. картинка python shell Python shell что это. beget. Python shell что это фото. Python shell что это-beget. картинка Python shell что это. картинка beget

Писать небольшие программы (скрипты, сценарии) на Python можно непосредственно в окне терминала. В операционных системах семейства Windows, функции терминала выполняет «командная строка» (command prompt). Для того чтобы ее открыть, нужно нажать сочетание клавиш Win + R, ввести команду cmd и нажать Enter.

Python shell что это. windows command prompt. Python shell что это фото. Python shell что это-windows command prompt. картинка Python shell что это. картинка windows command prompt

Python shell что это. windows python shell. Python shell что это фото. Python shell что это-windows python shell. картинка Python shell что это. картинка windows python shell

С этого момента вы можете писать код на Python, завершая каждую строку нажатием клавиши Enter. Следует заметить, что нужно помнить про отступы после перехода на новую строку. Так, например, после ввода for i in range(10): и нажатия клавиши Enter, вы увидите что приглашение для ввода команд на новой строке изменилось на три точки (. ). Далее вам нужно либо нажать Tab либо ввести 4 пробела и только после этого начать писать следующую строку кода. Чтобы выйти из цикла и выполнить блок кода, нужно дважды нажать клавишу Enter.

В заключении стоит отметить что Python Shell и режим REPL не очень подходят для написания каких то программ. Даже для написания небольших сценариев удобней пользоваться IDLE или воспользоваться редактором кода.

Источник

IPython: замена стандартного Python shell

Python shell достаточно удобная вещь для тестирования и изучения возможностей языка, кто-то даже использует его в качестве калькулятора(что между прочим весьма удобно), в этом цикле статей я бы хотел рассказать о IPython — замене стандартного Python shell’а, который предоставляет расширенный список возможностей, что делает работу с ним более эффективной.

Скачать и установить IPython можно с официального сайта

Пространство имен

Запускаем IPython shell командой ‘ipython’, как и в в стандартном Python shell’е мы можем присваивать переменным значения:
In [1]: msgflag = 1

In [4]: warning = None

Во время ввода можно пользоваться автокомплитом, например набрав msg и нажав Tab, мы получим возможные варианты:
In [5]: msg
msg msgflag

Если вариант один, то он автоматически появится в поле ввода.

Логгирование

Другая полезная возможность IPython — логгирование. Команда ‘logstate’ проверяет текущее состояние логгера:
In [18]: logstate
Logging has not been activated.

Командой ‘logstart’ можно начать логгирование:
In [19]: logstart
Activating auto-logging. Current session state plus future input saved.
Filename : ipython_log.py
Mode : rotate
Output logging : False
Raw input log : False
Timestamping : False
State : active

Лог сохраняется в текущей директории как исходный код Python
Команды ‘logon’ и ‘logoff’ используются для включения/выключения логгирования:
In [20]: logoff
Switching logging OFF

In [21]: logon
Switching logging ON

Магические команды

Команды, описанные выше в терминологии IPython называются magic commands(магические команды). Для того, чтобы посмотреть полный список magic команд, нужно ввести ‘lsmagic’:
In [22]: lsmagic
Available magic functions:
%Exit %Pprint %Quit %alias %autocall %autoindent %automagic %bg %bookmark %cd %clear %color_info %colors %cpaste %debug %dhist %dirs %doctest_mode %ed %edit %env %exit %hist %history %logoff %logon %logstart %logstate %logstop %lsmagic %macro %magic %p %page %pdb %pdef %pdoc %pfile %pinfo %popd %profile %prun %psearch %psource %pushd %pwd %pycat %quickref %quit %r %rehash %rehashx %rep %reset %run %runlog %save %sc %store %sx %system_verbose %time %timeit %unalias %upgrade %who %who_ls %whos %xmode

Automagic is ON, % prefix NOT needed for magic functions.

Магические команды могут использовать знак процента в качестве префикса. Это полезно в случае, если имя переменной совпадает с именем команды.
Для вызова помощи по всем магическим командам используется ‘magic’ команда. Для получения справки по определенный магической команды достаточно просто поставить знак вопроса в конце:
In [23]: lsmagic?
Type: Magic function
Base Class:
String Form: >
Namespace: IPython internal
File: /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/ipython-0.9.1-py2.5.egg/IPython/Magic.py
Definition: lsmagic(self, parameter_s=»)
Docstring:
List currently available magic functions.

Для получения дополнительной информации следует ввести 2 знака вопроса в конце команды, в таком случае выводится и исходный код команды-функции.

Некоторые «косметические» команды

Можно использовать ‘p’ как сокращение для ‘print’:
In [25]: import sys

In [26]: p sys.path
[», ‘/Library/Frameworks/Python.framework/Versions/2.5/bin’, ‘/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg’, ‘/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/bdist_mpkg-0.4.3-py2.5.egg’, ‘/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/macholib-1.1-py2.5.egg’,
.

Так же можно пользоваться сокращенной формой для вызова функций:
In [27]: def x(a, b):
. print a, b
.
.

Для вызова функции можно сделать так:
In [29]: def x(): print «123»
.

Можно вызвать функцию, которая в качестве параметров принимает строки, без необходимости заключать их в кавычки:
In [31]: def x(a,b): print «%s-%s» % (a, b)
.

Интроспекция

Если вы забыли какие аргументы нужны для вызова функции или метода, вы всегда можете узнать это при помощи команды ‘pdef’:
In [37]: import re

In [38]: pdef re.match
re.match(pattern, string, flags=0)

Так же можно посмотреть документацию по этой функции:
In [39]: pdoc re.match
Class Docstring:
Try to apply the pattern at the start of the string, returning
a match object, or None if no match was found.
Calling Docstring:
x.__call__(. ) x(. )

Всю информацию о функции можно посмотреть при помощи команды ‘pinfo’:
In [40]: pinfo re.match
Type: function
Base Class:
String Form:
Namespace: Interactive
File: /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/re.py
Definition: re.match(pattern, string, flags=0)
Docstring:
Try to apply the pattern at the start of the string, returning
a match object, or None if no match was found.

Вы так же можете посмотреть исходный код функции:
In [41]: psource re.match
def match(pattern, string, flags=0):
«»»Try to apply the pattern at the start of the string, returning
a match object, or None if no match was found.»»»
return _compile(pattern, flags).match(string)

Если вы хотите посмотреть исходный код файла, в котором определен тот или иной объект, используйте команду ‘pfile’:
In [42]: pfile re.match

Ссылки на источники

PS: На этом пока все, если эта тема кому-то интересна, то в следующих статьях продолжу описание возможностей IPython.

Источник

Пишем shell скрипты на Python и можно ли заменить им Bash

В этой небольшой статье речь пойдет о том, можно ли легко использовать Python для написания скриптов вместо Bash/Sh. Первый вопрос, который возникнет у читателя, пожалуй, а почему, собственно, не использовать Bash/Sh, которые специально были для этого созданы? Созданы они были достаточно давно и, на мой взгляд, имеют достаточно специфичный синтаксис, не сильно похожий на остальные языки, который достаточно сложно запомнить, если вы не администратор 50+ левела. Помните, ли вы навскидку как написать на нем простой if?

Элементарно правда? Интуитивно понятный синтаксис. 🙂

Тем не менее в python эти конструкции намного проще. Каждый раз когда я пишу что то на баше, то непременно лезу в поисковик чтобы вспомнить как писать простой if, switch или что-то еще. Присвоение я уже запомнил. 🙂 В Python все иначе. Я хоть и не пишу на нем круглые сутки, но никогда не приходилось лезть и смотреть как там сделать простой цикл, потому что синтаксис языка простой и интуитивный. Плюс ко всему он намного ближе к остальным мейнстримовым языкам типа java или c++, чем Bash/Sh.

Также в стандартной и прочих библиотеках Python есть намного более удобные библиотеки чем консольные утилиты. Скажем, вы хотите распарсить json, xml, yaml. Знаете какой я недавно видел код в баше чтобы сделать это? Правильно:

И это был не мой код. Это был код баше/питоно нейтрального человека.

То же самое с регексом, sed бесспорно удобная утилита, но как много людей помнит как правильно ее использовать? Ну кроме Lee E. McMahon, который ее создал. Да впринципе многие помнят, даже я помню как делать простые вещи. Но, на мой взгляд, в Python модуль re намного удобнее.

В этой небольшой статье я хотел бы представить вам диалект Python который называется shellpy и служит для того, чтобы насколько это возможно заменить Bash на python в скриптах.

Введение

Shell python ничем не отличается от простого Python кроме одной детали. Выражения внутри grave accent символов ( ` ) в отличие от Python не является eval, а обозначает выполнение команды в шелле. Например

и это тоже будет корректным синтаксисом.

Можно выполнять сразу несколько команд на разных строках

и команды, занимающие несколько строк

Выполнение каждого выражения в shellpy возвращается объект класса Result

Это можно быть либо Result либо InteractiveResult (Ссылки на гитхаб с документацией, можно и потом посмотреть 🙂 ). Давайте начнем с простого результата. Из него можно легко получить код возврата выполненной команды

И текст из stdout и stderr

Можно также пробежаться по всем строкам stdout выполненной команды в цикле

Для результата есть также еще очень много синтаксического сахара. Например, мы можем легко проверить, что код возврата выполняемой команды равен нулю

Или же более простым способом получить текст из stdout

Все вышеперечисленное — это обзор синтаксиса вкратце, чтобы просто понять основную идею и не грузить вас всеми-всеми деталями. Там есть еще много чего и для интерактивного взаимодействия с выполняемыми командами, для управления исполнением команд. Но это все детали, в которые можно окунуться в документации (на английском языке), если сама идея вам покажется интересной.

Это ж не валидный синтаксис Python получается, как все работает то?

Магия конечно, как еще 🙂 Да, друзья мои, мне пришлось использовать препроцессинг, каюсь, но другого способа я не нашел. Я видел другие библиотеки, которые делают нечто подобное, не нарушая синтаксиса языка вроде

Но меня такой синтаксис не устраивал, поскольку даже несмотря на сложности, хотелось получить best user experience ©, а для меня это значит насколько это возможно простое и близкое к его величеству Шеллу написание команд.

Знакомый с темой читатель спросит, чем IPython то тебя не устроил, там ж почти как у тебя только значок другой ставить надо, может ты просто велосипедист, которому лень заглянуть в поисковик? И правда он выглядит вот так:

Я его пытался использовать но встретил пару серьезных проблем, с которыми ужиться не смог. Самая главная из них, то что нет простого импорта как в Python. То есть ты не можешь написать какой-то код на самом ipython и легко его переиспользовать в других местах. Невозможно написать для своего ipython модуля

и чтобы все сразу заработало как в сказке. Единственный способ переиспользовать скрипт, это выполнить его. После выполнения в окружении у тебя появляются все функции и переменные, объявленные в выполняемом файле. Не кошерно на мой взгляд.

В shellpy код переиспользуется легко и импортируется точно так же как и в обычном python. Предположим у нас есть модуль common в котором мы храним очень полезный код. Заглянем в директорию с этим модулем

Мы видим что тут объявлена функция, которая внутри себя использует shellpy синтаксис чтобы вернуть результат выполнения `echo 5. Как этот модуль используется в коде? А вот как

Видите? Как в обычном Python, просто взяли и заимпортировали.

Как же все работает. Это работает с помощью PEP 0302 — New Import Hooks. Когда вы импортируете что-то в своем коде то вначале Python спрашивает у хука, нет ли тут чего-то твоего, хук просматривает PYTHONPATH на наличие файлов *.spy или модулей shellpython. Если ничего нет, то так и говорит: «Ничего нету, импортируй сам». Если же он находит что-то там, то хук занимается импортом самостоятельно. А именно, он делает препроцессинг файла в обычный python и складывает все это добро в temp директорию операционной системы. Записав новый Python файл или модуль он добавляет его в PYTHONPATH и за дело берется уже самый обыкновенный импорт.

Давайте же скорее посмотрим на какой-нибудь пример

Этот скрипт скачивает аватар юзера Python с Github и кладет его в temp директорию

Установка

Запустим же что-нибудь

После установки можно потестировать shellpython на примерах, которые доступны прямо в репозитории.

Также здесь есть allinone примеры, которые называются так, потому что тестируют все-все функции, которые есть в shellpy. Загляните туда, чтобы лучше узнать что же там еще такого есть, либо просто выполните

Для третьего Python команда выглядит вот так

Совместимость

Если найдете проблемы — пишите в коммент, либо сюда Python shell что это. shellpy. Python shell что это фото. Python shell что это-shellpy. картинка Python shell что это. картинка shellpy либо телеграфируйте как-нибудь 🙂

Документация (на английском)

Можно ли законтрибьютить

Оно мне ничего в продакшене не разломает?

Сейчас версия 0.4.0, это не стейбл и продакшн процессы пока лучше не завязывать на скрипт, подождав пока все отладится. Но в девелопменте, CI можно использовать вполне. Все это покрыто тестами и работает 🙂 Python shell что это. shellpy. Python shell что это фото. Python shell что это-shellpy. картинка Python shell что это. картинка shellpy

Источник

Приступая к работе¶

Что тебе потребуется¶

Python!¶

Если у тебя ещё нет Python’а, ты можешь найти последние официальные установочные файлы здесь:

Будучи последним, Python 3 предпочтительнее!

И редактор кода¶

Sublime Text: простой, но проприетарный редактор, поддерживающий Windows, Mac и GNU/Linux. Сочетание клавиш Ctl+B запускает открытый файл.

Geany: простой в обращении и не перегруженный функциями редактор, работающий на Windows и GNU/Linux.

TextMate: один из самых известных редакторов кода для Mac’ов, изначально бывший коммерческим продуктом, но позже ставший свободным и бесплатным.

Gedit и Kate: если ты используешь GNU/Linux с Gnome или KDE соответственно, то один из них должен быть предустановлен!

Komodo Edit: неплохой свободный редактор под Mac, Windows и GNU/Linux, основанный на более мощной Komodo IDE.

Если ты хочешь последовать нашим рекомендациям, для начала попробуй Sublime Text.

Wordpad, TextEdit, Notepad и Word – неподходящие текстовые редакторы.

Всё же, что такое Python?¶

В действительности, Python – всего лишь ещё одна программа на твоём компьютере. Для начала нужно узнать, как использовать и взаимодействовать с ним. Существует много способов научиться этому, первый из которых – работать и интерпретатором Python, используя консоль операционной системы (ОС).

Консоль (“терминал”, “командная строка”) – это текстовый (в отличие от так называемых “окружений рабочего стола” (Desktop Environment, DE), работающих в связке с мышью) интерфейс для работы с ОС.

Открываем консоль в Mac OS X¶

Командная строка Terminal — это инструмент для “общения” с компьютером. Открывшееся окно должно содержать сообщение-подсказку, что-то вроде этого:

Открываем консоль в GNU/Linux¶

В дистрибутивах GNU/Linux (Ubuntu, Fedora, Mint и т.д.) обычно уже установлены разные программы-консоли, обычно называемые терминалами. То, какой терминал установлен, зависит от используемого дистрибутива. Например, в Ubuntu это Gnome Terminal. После запуска появляется приглашение вроде этого:

Открываем консоль в Windows¶

Командная строка Windows намного менее функциональна, чем её аналоги из GNU/Linux и OS X, потому лучше запускать интерпретатор Python’а (см. ниже) напрямую или с помощью программы IDLE, которая поставляется с Python’ом (найти её можно в меню “Пуск”).

Использование Python¶

Python-программа, установленная по умолчанию, называется интерпретатором. Интепретатор принимает команды и выполняет их после ввода. Очень удобно для тестирования чего-либо.

Чтобы запустить интерпретатор, просто введи python и нажми Enter.

Взаимодействие с Python’ом¶

Когда Python запустится, ты увидишь что-то вроде этого:

>>> в последней строке означает, что сейчас мы находимся в интерактивном интерпретаторе Python, также называемом “Оболочкой Python (Python shell)”. Это не то же самое, и что обычная командная строка!

Теперь ты можешь ввести немного Python-кода. Попробуй:

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

Запуск файлов с Python-кодом¶

Когда Python-кода становится слишком много, лучше записывать его в файлы. Это, например, позволит тебе редактировать отдельные части кода (исправлять ошибки) и тут же запускать их без необходимости перепечатывать текст. Просто сохрани код в файл, и передай его имя python‘у. Записанный в файл исходный код будет выполнен без запуска интерактивного интерпретатора.

В Windows нужно два раза кликнуть на пиктограмму файла, чтобы запустить его.

Когда ты нажмешь в консоли, наш файл выполнится и результат его работы будет выведен на экран. В этот момент интерпретатор Python выполнит все инструкции, находящиеся в скрипте и вернет управление командной строке, а не интерактивной оболчке Python.

Теперь всё готово, и мы можем приступить к черепашке!

Вместо ожидаемого “Hello world” ты получил какие-то странные ошибки “can’t open file” или “No such file or directory”? Скорее всего, что ты работаешь не в той директории где сохранен твой Pyhton-скрипт. С помощью командной строки легко сменить текущий активный каталог, используя команду cd, что означает “change directory” (сменить каталог). В Windows эта команда может выглядеть так:

© Авторские права 2012–2014, OpenTechSchool and contributors.
Создано с помощью Sphinx 1.3.1.

Источник

Python shell что это

Исходный код: Lib/idlelib/

IDLE имеет следующие возможности:

У IDLE два типа главного окна: окно оболочки (Shell) и окно редактора (Editor). Возможно одновременное использование нескольких окон редактора. В Windows и Linux каждый имеет собственное верхнее меню. Каждое меню, задокументированное ниже, указывает тип окна, с которым оно связано.

Окна вывода, такие как используемый для Edit => Find в файлах, являются подтипом окна редактора. В настоящее время они имеют одно и то же верхнее меню, но другое название по умолчанию и контекстое меню.

В macOS имеется одно меню приложения. Он динамически изменяется в соответствии с выбранным в данный момент окном. Он имеет меню IDLE, и некоторые записи, описанные ниже, перемещаются в соответствии с рекомендациями Apple.

Меню «File» (Оболочка и редактор)¶

Меню «Edit» (Оболочка и редактор)¶

Функции буфера обмена также доступны в меню контекст.

Select All выберите все содержимое текущего окна. Find… Открыть диалоговое окно поиска со многими параметрами Find Again Повторите последний поиск, если он есть. Find Selection Выбора в настоящее время отобранного строка, если есть тот. Find in Files… Открыть диалоговое окно поиска файлов. Поместить результаты в новое окно вывода. Replace… Открыть диалоговое окно поиска и замены. Go to Line Переместить курсор в начало запрошенной строки и сделать ее видимой. Запрос после конца файла переходит к концу. Отмените выбор и обновите статус строки и столбца. Show Completions Открыть прокручиваемый список, позволяющий выбрать существующие имена. См. Завершения в разделе «Редактирование и навигация» ниже. Expand Word Развернуть префикс, введенный для соответствия полному слову в том же окне; повторите, чтобы получить другое расширение. Show call tip После незакрытых скобок для функции откройте небольшое окно с подсказками параметров функции. См. раздел Calltips в разделе редактирование и навигация ниже. Show surrounding parens Выделить окружающие скобки.

Меню «Format» (только окно «Editor»)¶

Меню «Run» (только окно «Editor»)¶

Меню «Shell» (только окно Shell)¶

Меню Debug (только окно Shell)¶

Меню «Options» (Shell и Editor)¶

Большинство опций конфигурации относится ко всем окнам или ко всем будущим окнам. Указанные ниже опции применяются только к активному окну.

Меню «Window» (Shell и Editor)¶

Список имен всех открытых окон; выберите один из них для вывода его на передний план (при необходимости его деиконизация).

Меню «Help» (Shell и Editor)¶

Дополнительные источники справки можно добавить здесь в диалоговом окне «Настройка IDLE» на вкладке «Общие». Дополнительные сведения о выборе пунктов меню «Справка» см. в подразделе « Справочные источники » ниже.

Контекстные меню¶

Открыть меню контекст, щелкнув правой кнопкой мыши в окне (щелкните по macOS, удерживая нажатой клавишу Control). Контекстные меню имеют стандартные функции буфера обмена также в меню «Правка».

Cut выделение «Копировать» в системный буфер обмена; затем удалите выделенную область. Copy выбор в системный буфер обмена. Paste вставить содержимое системного буфера обмена в текущее окно.

Set Breakpoint установить на текущей строке. Clear Breakpoint очищает контрольную точку на той линии.

Окна Shell и Output также имеют следующее.

Go to file/line так же, как в меню «Debug».

В окне Shell также имеется средство сжатия выходных данных, поясняемое в Python Shell window подразделе ниже.

Squeeze Если курсор наведен на выходную строку, выжмите все выходные данные между код выше и подсказкой ниже вниз до метки «Сжатый текст».

Редактирование и навигация¶

Окна редактора¶

IDLE может открыть окна редактора, когда он начинается, в зависимости от параметров настройки и как вы начинаете IDLE. После этого используйте меню файл. Для данного файла может быть только одно открытое окно редактора.

Строка заголовка содержит имя файла, полный путь и версию Python и IDLE, запускающих окно. Строка состояния содержит номер строки („Ln“) и номер столбца („Col“). Номера строк начинаются с 1; номера столбцов с 0.

Горячие клавиши¶

В этом разделе «C» означает клавишу Control в Windows и Unix и ключ Command в macOS.

Backspace удаляет слева; Del удаляет справа

C-Backspace удалить слово слева; C-Del удалить слово справа

Клавиши со стрелками и Page Up / Page Down для перемещения

C-LeftArrow и C-RightArrow ходы по словам

Home / End перейти к началу/концу строки

C-Home / C-End перейти к началу/концу файла

Некоторые полезные привязки Emacs наследуются от Tcl/Tk:

Автоматический отступ¶

После открывающего блок инструкция следующая строка заказана 4 местами (в окне Python Shell одним счетом). После определенных ключевых слов (break, возвращает и т.д.) следующая строка будет выделена. В начале отступа Backspace удаляет до 4 пробелов, если они имеются. Tab вставляет пробелы (в окне Python Shell один счет), число зависит от ширины заявки. В настоящее время табуляторы ограничены четырьмя пробелами из-за ограничений Tcl/Tk.

Завершения¶

Один из способов открыть коробку — ввести ключевой символ и подождать заранее заданный интервал. По умолчанию это 2 секунды; настройте его в диалоговом окне настроек. (Чтобы предотвратить автоматические всплывающие окна, установите задержку на большое количество миллисекунд, например 100000000.) Для имен импортированных модулей или атрибутов классов или функций введите „.“. Для имен файлов в корневом каталоге введите os.sep или os.altsep сразу после вступительной кавычки. (В Windows можно сначала указать диск.) Для перехода в подкаталоги введите имя каталога и разделитель.

Нажатие Tab после префикса обычно имеет тот же эффект, что и отображение завершения. (Без префикса он имеет отступ.) Однако, если есть только одно совпадение с префиксом, это совпадение немедленно добавляется к тексту редактора, не открывая коробку.

Вызов „Show Completions“ или нажатие Tab после префикса, вне строки и без предшествующего „.“ открывает коробку с ключевыми словами, встроенными именами и доступными именами на уровне модуля.

При редактировании кода в редакторе (в отличие от Shell) увеличьте количество доступных имен на уровне модулей, запустив свой код и не перезагружая Shell после этого. Это особенно полезно после добавления импорта в начало файла. Это также увеличивает возможное завершение атрибута.

Поля заполнения изначально исключают имена, начинающиеся с „_“ или, для модулей, не включенные в „__all__“. К скрытым именам можно получить доступ, набрав „_“ после „.“ До или после открытия коробки.

Подсказки¶

Подсказка состоит из сигнатуры функции и строки документации до первой пустой строки последней или пятой непустой строки. (Некоторые встроенные функции не имеют доступной сигнатуры.) Знаки „/“ или „*“ в сигнатуре указывают на то, что предыдущие или последующие аргументы передаются только по позиции или имени (ключевому слову). Детали могут быть изменены.

В Shell доступные функции зависят от того, какие модули были импортированы в пользовательский процесс, включая те, которые были импортированы самим Idle, и какие определения были выполнены с момента последнего перезапуска.

В редакторе операторы импорта не действуют, пока файл не будет запущен. Может потребоваться запустить файл после написания операторов импорта, после добавления определений функций или после открытия существующего файла.

Кодовый контекст¶

Цвета текста и фона для панели контекст можно настроить на вкладке подсветки в диалоговом окне настройка IDLE.

Окно Python Shell¶

С помощью IDLE „s Shell можно вводить, редактировать и отзывать полные инструкции. Большинство консолей и терминалов одновременно работают только с одной физической линией.

Особенности редактирования, описанные в предыдущих подразделах, работают, входя в код в интерактивном режиме. Окно оболочки IDLE также отвечает на следующие клавиши.

C-c прерывает выполнение команды

C-d отправляет конец файла; закрывает окно, если оно введено в ответ на запрос >>>

Alt-/ (Развернуть слово) также полезно для сокращения набора

Цвета текста¶

Раскраска текста выполняется на заднем плане, поэтому неколоризованный текст иногда виден. Чтобы изменить цветовую схему, используйте настраивание вкладки Highlighting диалога IDLE. Маркировка строк контрольных точек отладчика в редакторе и текста во всплывающих окнах и диалоговых окнах не настраивается пользователем.

Запуск и выполнение кода¶

Использование командной строки¶

При наличии аргументов:

Ошибка запуска¶

IDLE использует сокет, чтобы сообщить между процессом графический интерфейса пользователя IDLE и пользователем процесс выполнения код. Подключение должно быть установлено при каждом запуске или перезапуске оболочки. (Последняя обозначается разделительной линией, которая говорит «RESTART»). Если пользовательскому процессу не удается подключиться к процессу GUI, он отображает поле ошибки Tk с сообщением «не удается подключиться», которое направляет пользователя сюда. Затем он выходит.

Общей причиной сбоя является написанный пользователем файл с тем же именем, что и стандартный библиотечный модуль, например random.py и tkinter.py. Когда такой файл расположен в том же справочнике как файл, который собирается управляться, IDLE не может импортировать stdlib файл. Текущее исправление заключается в переименовании файла пользователя.

Хотя это и не так часто, как в прошлом, антивирусная программа или брандмауэр могут остановить подключение. Если программе нельзя преподавать позволить связь, то она должна быть выключена для IDLE, чтобы работать. Это внутреннее подключение безопасно, поскольку на внешних портах данные не видны. Аналогичная проблема заключается в неправильной конфигурации сети, которая блокирует соединения.

Инсталляционные проблемы Python иногда останавливают IDLE: могут столкнуться несколько версий, или единственная установка, возможно, нуждалась бы в доступе администратора. Если вы отменяете столкновение, или не может или не хотеть бежать как администратор, могло бы быть самым легким полностью удалить Python и начало.

Процесс zombie pythonw.exe может быть проблемой. В Windows с помощью диспетчера задач проверьте наличие такового и остановите его при его наличии. Иногда при перезапуске, инициированном сбоем программы или прерыванием клавиатуры (control-C), может возникнуть сбой при подключении. Отключение окна ошибки или использование команды перезапустить оболочку в меню оболочка может устранить временную проблему.

Когда IDLE сначала начинается, он пытается читать, пользовательские конфигурационные файлы в

корневой каталог). При возникновении проблемы должно отображаться сообщение об ошибке. Оставляя в стороне случайные сбои диска, это можно предотвратить, никогда не редактируя файлы вручную. Вместо этого используйте диалоговое окно конфигурации в разделе «Параметры». После ошибки в файле пользовательской конфигурации лучшим решением может быть его удаление и начало работы с диалоговым окном настроек.

Работающий пользовательский код¶

За редким исключением, результат выполнения Python код с IDLE должен быть таким же, как выполнение того же код методом по умолчанию, непосредственно с Python в системной консоли текстового режима или окне терминала. Однако различные интерфейсы и операции иногда влияют на видимые результаты. Для сущность sys.modules начинается с дополнительных записей, а threading.activeCount() возвращает 2 вместо 1.

Когда Shell имеет фокус, она управляет клавиатурой и экраном. Обычно это прозрачно, но функции, непосредственно обращающиеся к клавиатуре и экрану, работать не будут. К ним относятся специфичные для системы функции, определяющие, нажата ли клавиша, и если да, то.

Стандартные замены потока IDLE не унаследованы подпроцессами, созданными в процессе выполнения, ли непосредственно пользователем код или модулями такой как многопроцессорные. Если такие подпроцессы используют input от sys.stdin или print или write к sys.stdout или sys.stderr, IDLE следует запустить в окне командной строки. Вторичный подпроцессы будет тогда присоединен к тому окну для входа и выхода.

Когда пользователь код поднимает SystemExit либо напрямую, либо путем вызова sys.exit, IDLE возвращается к подсказке Shell вместо выхода.

Пользовательский вывод в оболочке¶

Для сущность Shell никогда не выбрасывает выходные данные. Программа, отправляющая неограниченные выходные данные в Shell, в конечном итоге заполнит память, что приведет к ошибке памяти. В отличие от этого, некоторые системные текстовые окна сохраняют только последние n строк выходных данных. Консоль Windows, для сущность, сохраняет настраиваемые пользователем от 1 до 9999 строк с 300 строками по умолчанию.

Виджет Tk Text и, следовательно, IDLE „s Shell отображает символы (кодовые точки) в подмножестве BMP (Базовая многоязычная плоскость) Юникода. Какие символы отображаются с соответствующим глифом, а какие с рамкой замены зависят от операционной системы и установленных шрифтов. Символы табуляции приводят к тому, что после следующей позиции табуляции начинается следующий текст. (Они встречаются каждые 8 символов). Новые символы приводят к появлению следующего текста в новой строке. Другие управляющие символы игнорируются или отображаются как пробел, поле или что-либо еще, в зависимости от операционной системы и шрифта. (Перемещение текстового курсора через такой вывод с помощью клавиш со стрелками может показать неожиданное поведение интервала.):

Функция repr является используемый для интерактивного эха выражения значения. Это возвращает измененную версию входа строка, в котором контроле коды, некоторые кодовые точки BMP и все non-BMP кодовые точки заменены побегом коды. Как показано выше, он позволяет идентифицировать символы в строка независимо от способа их отображения.

Нормальный и ошибочный выходные сигналы обычно сохраняются раздельными (на отдельных линиях) от код входных сигналов и друг от друга. Каждый из них получает различные цвета подсветки.

Для трейсбэки Error обычная маркировка „^“, в которой была обнаружена ошибка, заменяется раскраской текста с выделением ошибки. Когда пробег код из файла вызывает другие исключения, можно щелкнуть правой кнопкой мыши на линии трейсбэк, чтобы подскочить к соответствующей линии в редакторе IDLE. При необходимости файл будет открыт.

Shell имеет специальное средство для сжатия выходных строк вниз до метки «Сжатый текст». Это выполняется автоматически для вывода по N линиям (по умолчанию N = 50). N можно изменить в разделе PyShell на странице общие диалогового окна настройки. Вывод с меньшим количеством линий можно сжать, щелкнув правой кнопкой мыши на выходе. Это может быть полезной строкой, достаточно длинной, чтобы замедлить прокрутку.

Сжатые выходные данные развертываются по месту путем двойного щелчка по метке. Его также можно отправить в буфер обмена или в отдельное окно представления, щелкнув метку правой кнопкой мыши.

Разработка tkinter приложений¶

При запуске программы tkinter из редактора IDLE можно прокомментировать вызов mainloop. Затем немедленно получает приглашение оболочки и может взаимодействовать с активным приложением. Просто нужно не забыть повторно включать требование mainloop, бегая в стандартном Python.

Запуск без подпроцессов¶

По умолчанию IDLE выполняет пользовательский код в отдельном подпроцессы через сокет, который использует внутренний интерфейс закольцовывания. Это подключение не отображается извне, и данные не отправляются и не принимаются из интернета. Если программное обеспечение брандмауэра в любом случае жалуется, вы можете игнорировать его.

Если IDLE будет начат с-n выключателя командной строки, то он будет бежать в единственном процессе и не создаст подпроцессы, который управляет сервером казни RPC Python. Это может быть полезно, если Python не может создать подпроцессы или интерфейс RPC сокет на вашей платформе. Однако в этом пользователе режима код не изолирован от самого IDLE. Кроме того, окружающая среда не перезапущена, когда модуль пробега/Пробега (F5) отобран. Если код был изменен, необходимо перезагрузить () затронутые модули и повторно импортировать все определенные элементы (например, из базы импорта foo), чтобы изменения вступили в силу. По этим причинам предпочтительно выполнять IDLE с подпроцессы по умолчанию, если это вообще возможно.

Не рекомендуется, начиная с версии 3.4.

Помощь и предпочтения¶

Источники помощи¶

Вход меню справки «Помощь IDLE» показывает отформатированную версию HTML главы IDLE ссылки библиотеки. Результат в текстовом окне, доступном только для чтения, близок к тому, что видно в веб-браузере. Переходите по тексту, удерживая нажатой клавишу мыши, полосу прокрутки или стрелку вверх и вниз. Или нажмите кнопку TOC (оглавление) и выберите заголовок раздела в открывшемся поле.

Выбранные URL можно добавить или удалить из меню справки в любое время с помощью вкладки «General» диалогового окна «Configure IDLE».

Настройка предпочтений¶

На вкладке «Font» см. пример текста о влиянии грани и размера шрифта на несколько символов на нескольких языках. Отредактируйте образец, чтобы добавить другие персонажи, представляющие личный интерес. Используйте образец для выбора монополюсных шрифтов. Если определенные символы имеют проблемы в Shell или редакторе, добавьте их в верхнюю часть образца и попробуйте изменить сначала размер, а затем шрифт.

На вкладке выделения и ключи выберите встроенную или пользовательскую цветовую тему и набор ключей. Использовать более новую встроенную цветную тему или ключевой набор с более старым IDLEs, сохраните его как новая пользовательская тема или ключевой набор, и он хорошо быть доступным для более старого IDLE.

IDLE на macOS¶

В разделе системные настройки: док можно установить для параметра «Предпочтительные вкладки при открытии документов» значение «Всегда». Эта настройка не совместима с tk/tkinter фреймворк используемый графический интерфейса пользователя IDLE, и это ломает несколько особенностей IDLE.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *