Как сохранить интерактивный сеанс Python 2 в режиме ожидания / оболочка / командная строка в Windows? - PullRequest
0 голосов
/ 15 марта 2019

Я запускаю расчеты в Windows в течение нескольких часов и хотел бы, чтобы команда / отчет о расчете / журнале внутри интерактивного окна IDLE / оболочки была сохранена в файле в конце. Было бы неплохо выйти () и закрыть окно тоже. Как бы мне ни нравился Linux, это машина с автоматической системой Windows, поэтому, к сожалению, некоторые модули / команды недоступны, и возможность установки другого программного обеспечения ограничена. Тот факт, что разработчики не думали о команде для сохранения транзакций внутри оболочки / IDLE, вызывает удивление.

Я знаю, что в некоторых средах вы можете направить вывод задания, например отчета, в другой текстовый файл, используя ключи -o, --o, --output,> в текстовый файл. Удивительно, но Python не поддерживает ничего подобного!

Любая помощь будет оценена Спасибо

Ответы [ 2 ]

0 голосов
/ 16 марта 2019

Командная строка Windows поддерживает перенаправление stdout и, возможно, перенаправление stderr.Я только что проверил python -c "print(test)" > F:/dev/tem/out.txt, и распечатка пошла в out.txt.Замените -c "print ('test') на script.py, и должно произойти то же самое. Может подойти передача stdout одной программы на stdin другой. Возможно, вы сможете связать программы с файлом .bat. Вероятно, PowerShell более мощныйи гибкий, но я никогда не использовал его.

Мне не совсем понятно, о чем вы спрашиваете, но я надеюсь, что следующие вопросы ответят на ваши вопросы.

Python работает в 2 режимах: пакетный иИнтерактивный. Интерактивный режим предназначен для временного взаимодействия с человеком. Пакетный режим предназначен для автоматических вычислений, с периодическими экранными сообщениями, но большинство результатов отправляется в файл, отличный от экрана. Оба режима объединяются при запуске python -i xyz.py.Сначала файл запускается в пакетном режиме, а затем Python переходит в интерактивный режим.

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

Оболочка IDLE имитирует интерактивный Python.Когда файл запускается из окна редактора, IDLE имитирует python -i file-being-edited.py с выводом экрана в Shell.В любом случае, интерактивный пользователь может сохранить содержимое оболочки с помощью команды меню File => Save As.Так что - это такая команда.Существуют также команды и ярлыки закрытия окна и выхода.

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

0 голосов
/ 15 марта 2019

Попробуйте посмотреть, можете ли вы установить Jupyter Notebook (не отдельное программное обеспечение, а только модуль Python)

pip install jupyter

Блокнот Jupyter очень полезен для сохранения и обмена вашим кодом. Его можно использовать как в качестве оболочки, так и в качестве редактора сценариев.

...