Отправляет email-рассылки с помощью сервиса Sendsay

[prg] python. Где писать, редактировать и как услышать вывод в консоли

Здравствуйте!

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

Также пробовал писать в текстовом файле и затем через командную строку
запустить код, но к сожалению, примеров в интернете нашёл один и то там
всё показывают визуально.

Из всего выше изложенного вытекают вопросы:

1. Как писать и редактировать код, чтобы он читался nvda?

2. Как тестировать код, чтобы я слышал вывод в консоли?

3. Очень хочется выводить текст ошибок в читаемом формате, скажем,
перенаправлять в текстовый файл.

У меня установлен python-3.10.0-amd64

Текстовый редактор Akelpad 4.9.8

nvda 2021.2 установочная копия.

Windows 10 (64-разрядная)

домашняя версия

p.s. Кстати, в NVDA есть консоль python (Ctrl+NVDA+Z) и там можно
некоторый код писать и слышать вывод, но функцию ввода input она не
принимает, пишет:

Traceback (most recent call last):
File "<console>", line 1, in <module>
RuntimeError: input(): lost sys.stdin

в остальном можно копаться как в песочнице!

Ответить   Tue, 23 Nov 2021 10:07:23 +0400 (#3680466)

 

Ответы:

Здравствуйте, Грызунов Александр.

IDLE толком недоступна. Лучше не мучайтесь.
Если хочется условно интеллектуальную среду разработки на Python, то смотрите в сторону редактора VS Code.
В курсах часто будут советовать PyCharm, но там ряд нюансов с доступностью, поэтому на начальном этапе освоения языка на них отвлекаться вряд ли продуктивно.

Не очень понятно, в чём трудность запуска файла на исполнение через командную строку?
Вы просто вызываете интерпретатор Python и в качестве аргумента передаёте ему путь к py-файлу.
Или вы находитесь на этапе освоения командной строки как таковой и вам непонятны общие принципы работы с ней?

Есть два основных подхода: построчно в интерактивном интерпретаторе и в текстовом файле через любой редактор или IDE с последующим запуском этого файла на исполнение.
Дальше подразумевается, что вы уже скачали интерпретатор Python с python.org и установили, а во время установки отметили флаг "Add python 3.10 to PATH".
Теперь нажимаете Windows+R, там вводите "python" (без кавычек) и нажимаете Enter.
Так вы попадаете в интерактивную консоль интерпретатора Python.
Дальше просто вводите строки команд и нажимаете Enter, получая выдачу по каждой отдельно введённой команде. Если команда не подразумевает выдачу, то ничего и не будет. Если выдача есть, то программа экранного доступа её прочитает.
Например, можете ввести следующие несколько строк команд:

a = 3
b = 5
c = a + b
print(c)
abc

У первых трёх строк никакой выдачи не будет, у четвёртой будет выдача 8, а у пятой выдача текста ошибки.
При работе именно в интерактивной консоли четвёртую строку можно заменить просто на
c
В этом режиме ввод переменных приводит к показу их значения, но при прикладном программировании это уже не актуально.
В конце нажмите CTRL+Z, а потом Enter, чтобы закрыть консоль Python.

Это мы поработали через интерактивную консоль Python.
Теперь создаём файл test.py, куда записываем следующие строки:

name = input("What is your name?")
print("Hello "+name)

После этого в командной строке вызываем файл на исполнение:
python D:\study\test.py
У вас в окне командной строки сначала запросят ввод функцией input(), а потом покажут персональное приветствие.

Это мы запустили скрипт Python на исполнение с чтением консольной выдачи.

Вам может захотеться сопоставить py-файлы с интерпретатором Python, чтобы прямо в Проводнике нажимать на py-файлах и запускать их на исполнение.
Так сделать можно, но вышеприведённый test.py у вас работать не будет.
Точнее работать-то он будет, но после второй строки он сразу будет завершаться, так что выдачи вы не увидите.
На этот случай надо писать вот так:

name = input("What is your name?")
print("Hello "+name)
input()

Функция в третьей строке блокирует исполнение, ожидая ввода. Это позволит задержать окно и увидеть выдачу со строки 2.

Вот и вся наука для начала изучения синтаксиса языка. Дальше, надеюсь, сориентируетесь.

Если используете AkelPad, то в меню "Настройки" активируйте пункт "Параметры".
Там на вкладке "Общее" в группе "Выполнить" для параметра "Команда" пропишите строку
rundll32.exe shell32,ShellExec_RunDLL "%f"
и для параметра "Рабочий каталог" строку
%d
Ну и сохраните клавишей "ОК".

После этого открытый в AkelPad файл можно будет открыть сопоставленной программой по команде CTRL+F5.
Соответственно сопоставляете py-файлы с интерпретатором Python, а потом пишите их в AkelPad, а когда надо выполнить код, то просто нажимаете в окне редактора CTRL+F5, и файл запускается на исполнение.
Это в принципе будет работать с любыми интерпретируемыми языками.

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

Ответить   Thu, 25 Nov 2021 22:07:55 +0300 (#3680628)

 

Mai omentaina, Грызунов Александр!

Не надо этого делать. А ещё не надо писать GUI на Tkinter, хотя в
Инете полно туториалов. То есть вы можете, но ничего хорошего для вас
из этого не выйдет, если у вас нет достаточного остатка зрения.
Я всегда советую VS Code, конечно же. Что до консоли, это дело вкуса:
я открываю внешний PowerShell или WSL-терминал, в зависимости от того,
что мне надо, и запускаю всё там.

Ответить   Sun, 28 Nov 2021 00:50:53 +0100 (#3680771)