Найти - Пользователи
Полная версия: Как сохранить программу из консоли?
Начало » Python для новичков » Как сохранить программу из консоли?
1 2
Simka
m1r42
создавайте файл в блокноте или хотя бы в Notepad++
Собственно, именно так и делаю. Но консоль - это скорее из интереса - научиться и посмотреть как работает. Научился, посмотрел и не понимаю - зачем? Можно и писать и запускать в IDLE. Если делать и сохранять программу в консоли нельзя, что реально дает работа в консоли - кроме чрезмерной нагрузки на зрение? Ведь тестировать какие-то команды или фрагменты будущей программы тоже можно в IDLE или в PyCharm (правда, последний все-таки сложноват для новичка).

m1r42
Я так делаю:
Картинку мне не удается открыть.

py.user.next
Simka
Но как выйти из интерактивного режима, написать программу и сохранить?
Мышкой выделяешь, копируешь в буфер обмена, потом создаёшь файл и вставляешь из буфера обмена в файл, потом удаляешь >>> и выведенные данные и сохраняешь файл.

Интерактивный режим нужен, чтобы запускать код без создавания исходного файла. Во многих языках, чтобы проверить какой-то код, надо сначала создать исходный файл и вставить этот код в него, а потом интерпретатору подавать этот исходный файл. А в питоне можно гораздо быстрее всё проверять, потому что даже подключение к серверу или обработку картинки, например, можно выполнить без всякого исходного файла, просто в интеративном режиме. После проверки можно просто закрыть окно и не надо ничего удалять и очищать после этого, потому что никаких файлов нет. Это экономит время работы в несколько раз.

m1r42
А чем не нравиться IDLE Python (консоль Python) Меню File->New file ?
Потому что IDLE может быть не установлена. Это необязательный элемент. Когда в Linux ставишь питон никакой IDLE там нет, и когда тебе нужно работать с питоном, а IDLE не установлена, ты очень долго будешь соображать, как организовать работу, потому что привык к IDLE. Консоль же есть везде. Для раскрашивания кода ставится просто текстовый редактор кода, в котором есть подсветка синтаксиса и номера строк. Но и без редактора кода можно просто в консоли записать текст и сохранить его. Если ты работаешь прямо на сервере каком-то, то там может не быть редактора кода и вообще может не быть возможности запускать какие-то программы, кроме системных. Так вот для записи кода есть консольные средства везде.

В винде это будет
copy con file.py
В конце нажимаешь Ctrl + Z



Также IDLE не так уж сильно разрабатывается, поэтому там могут быть ошибки. В самой IDLE могут быть ошибки. Никто не сканирует её на наличие ошибок и ошибки обнаруживаются только пользователями. Бывает и так, что в IDLE что-то запускается не так, как в консоли. Это лишнее звено.

Simka
что реально дает работа в консоли
Она даёт независимость и эффективность. Если ты привык работать только с IDLE, а она не запустилась или запустилась и просто повисла ни с того ни с сего, то ты не будешь заниматься своими делами и решать свои задачи; ты будешь ждать, когда она разморозится, потому что ты зависим от неё и кроме неё ничего не знаешь. А её никто не дорабатывает, потому что она нужна только для начинающих и то только на первое время (на месяц примерно). Редакторы кода же, в отличие от IDLE, дорабатываются постоянно и ошибки в них ищутся и исправляются, поэтому на них ты можешь положиться. Естественно, и синтаксис они подсвечивают гораздо лучше и подробнее, потому что это их основная задача.

Это вот из-за этого на все твои вопросы типа “а почему у меня IDLE повисла? а почему у меня в IDLE там строку не переводит, когда я всё правильно нажимаю? а почему у меня в IDLE там процесс не завершается, который завершился уже минут десять назад?” тебе и отвечают “выкинь IDLE уже наконец, никто её не дорабатывает и баги не исправляет в ней, потому что никому она ни для чего серьёзного не нужна и нужна не будет”.

Что касается m1r42, что вот ему типа классы нужны, чтобы что-то написать, а написать он не может, потому что вот классы ему не дают использовать, а с классами он якобы сразу всё напишет, только вот ещё немного поучится и подучится, - так это из той же оперы, когда школьник берёт питон и текстовый редактор кода и говорит “ой, что-то у меня ничего не получается написать; наверное, мне надо суперпрофессиональную IDE какую-нибудь поставить, побольше книг скачать, где-то несколько сотен, сохранить их на диске и вот тогда у меня и получится написать игру, я это знаю, я это в кино про Гарри Поттера видел, там он просто махал волшебной палочкой и у него всё получалось, в том числе и на метле летать”. Это всё сказки Венского Леса. Если ты не умеешь просто в редакторе и в консоли программы делать, то и IDE тебе никакая не поможет, какая бы развитая она ни была. Потому что IDE - это для тех, кто уже умеет в редакторе кода и консоли писать всё и создавать что-то работающее прямо в них без всяких вспомогательных инструментов. Это не волшебная палочка, это инструмент, комплекс, который собирает в себе и редактор, и консоль, и дебаггер, и много чего другого, что требуется вообще на дальнейших этапах развития (типа там тестировочных систем, линтеров, рефакторинговых средств - они все тебе нафиг не нужны на начальных этапах), по мере того как ты растёшь. Если ты не дорос до дебаггера, то зачем он тебе? Ты всё равно ничего с ним не решишь, ни одной задачи или проблемы. Поэтому сначала нужно развить дебаггер в голове, когда ты прямо в голове у себя запускаешь код, ходишь по нему по всем закуткам и тёмным углам и ищешь в этом запущенном в воображении коде ошибки, выходы за границы и тому подобное. Дебаггер нужен тогда, когда ты работаешь с незнакомым кодом. Но до незнакомого кода надо дорасти сначала. Если ты свой код писать не умеешь, то и незнакомый код тебе ничего не даст, ты его просто не поймёшь, потому что не будешь понимать, что делает автор и как он думает.


tags: idle ide
Simka
py.user.next
Мышкой выделяешь, копируешь в буфер
Спасибо за подробный и очень полезный ответ!
m1r42
py.user.next
Что касается m1r42, что вот ему типа классы нужны, чтобы что-то написать, а написать он не может, потому что вот классы ему не дают использовать, а с классами он якобы сразу всё напишет, только вот ещё немного поучится и подучится, - так это из той же оперы, когда школьник берёт питон и текстовый редактор кода и говорит “ой, что-то у меня ничего не получается написать;
Не, ну вы посмотрите на это. Кто сказал, что у меня ничего не получается написать без классов? Классы - это удобство и не использовать их - это как если бы ваш сын хотел поесть колбасы, а вы ему такой. Сынок, колбаса - это слишком сложно продвинуто, не надо тебе этого. Давай для начала иди три года траву коси для бычка, потом мы его… И тд. И тп. А написать у меня как раз получается. Задумку с батлом в стиле Heroes III я постепенно реализую в свободное время. Уже есть готовый класс поле боя, юнитов, героев, сейчас работаю над ИИ компа и благодаря именно классам я могу удобно делать правки и работать с отдельными частями кода при этом постоянно на примерах и опыте повышать знания в Python. И для того чтобы ехать на машине мне совершенно не надо знать правила дорожного движения на зубок от корки до корки, и как там в двигателе крутиться коленвал.
ZerG
И для того чтобы ехать на машине мне совершенно не надо знать правила дорожного движения на зубок от корки до корки, и как там в двигателе крутиться коленвал.
Нужно
m1r42
ZerG
Нужно
Я автомобилист.
Есть такое правило в ПДД:

24.8. Велосипедистам и водителям мопедов запрещается:
управлять велосипедом, мопедом, не держась за руль хотя бы одной рукой;

Зачем мне, автомобилисту, это знать?
Я хочу сказать, что когда я пересяду на велосипед или мопед (тьфу, тьфу) мне это понадобиться, но думаю, что велосипедисты этого не знают в принципе.

Да, в случае аварии с велосипедистом который не держался за руль он будет виноват, но это еще надо доказать. Для этого открываем правила и читаем то что нас интересует. help() - в случае с Python.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB