Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 14, 2016 23:49:49

newpy
Зарегистрирован: 2014-08-12
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Консоль: а.как избавиться б.как сохранять консольные логи?

при запуске программы синее окно выскакивает и закрывается..
1) можно ли все сообщения программы перенаправить в файл? сейчас я извращаюсь вставлением в конец команды инпут.
2) а как подавлять появление самого этого окна? раз много плагинов написанных на питоне и они никакие окна ны выкидывают значит есть такая возможность..



__________________
py3.7.8-64 win10-64

Офлайн

#2 Июнь 15, 2016 05:20:11

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Консоль: а.как избавиться б.как сохранять консольные логи?

Надо поставить линукс. Там нет таких проблем. Там просто берёшь и программируешь, а система тебе никак не мешает. В винде постоянно будут проблемы, сначала с консолью, потом с кодировками, потом с файловыми путями. А потом она вообще обновится и слетит.

А по проблеме:
Ты должен создать ярлык на cmd.exe, удалить у него в свойствах рабочий каталог (там system32) и поместить этот ярлык в папку, где ты занимаешься. Тогда он будет открывать в этой папке. И когда ты так откроешь его, ты сможешь запустить там python script.py , который выполнится, но при этом окно останется.

Понимаешь, вся эта хрень, это всё только для винды надо. Следующий вопрос у тебя будет “а как выводить русский текст в консоль?”, потому что там консоль использует кодировку из прошлого века.



Отредактировано py.user.next (Июнь 15, 2016 05:21:45)

Офлайн

#3 Июнь 15, 2016 09:02:48

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Консоль: а.как избавиться б.как сохранять консольные логи?

Вы описали как окно оставить а не как убрать. Правильно замечено это особенности ОС и то как вы запускаете скрипт. Переименуйте скрипт в *.pyw может и поможет если запускаете тыкая мышкой.



Отредактировано doza_and (Июнь 15, 2016 09:03:54)

Офлайн

#4 Июнь 15, 2016 09:55:19

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Консоль: а.как избавиться б.как сохранять консольные логи?

А что за программа и что за окно? Подробнее можно?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#5 Июнь 15, 2016 10:14:02

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Консоль: а.как избавиться б.как сохранять консольные логи?

doza_and
Вы описали как окно оставить а не как убрать.
Вот он пишет
newpy
сейчас я извращаюсь вставлением в конец команды инпут
Вот эта фраза значит, что ему надо оставить окно. А если оставить нельзя, то хотя бы узнать, что там выводится через перенаправление в файл. Это распространённая проблема, в винде 99% так начинают изучение питона. Первый вопрос “как оставить окно?”. (Раньше первый вопрос был “как запустить скрипт? пишет программа не найдена”. Но сейчас уже появился автоматический установщик, который записывает путь к питону в PATH.)

А .pyw используется для tkinter'а, а он ещё только в консоли сидит. Когда делаешь расширение .pyw, такой файл запускается другой программой - pythonw. А эта программа не предназначена для консоли, потому что у ней все стандартные потоки закрываются. И если ты пишешь в консоль, а скрипт запускаешь через pythonw, то данные пропадают.



Отредактировано py.user.next (Июнь 15, 2016 10:15:44)

Офлайн

#6 Июнь 15, 2016 10:19:05

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Консоль: а.как избавиться б.как сохранять консольные логи?

А если запускать скрипт не двойным кликом по файлу а сразу из cmd типа
python /path/script.py



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#7 Июнь 15, 2016 10:34:33

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Консоль: а.как избавиться б.как сохранять консольные логи?

ZerG
а сразу из cmd типа
python /path/script.py
Это надо будет вот этот path (причём от самого диска C) писать каждый раз для каждого скрипта. А если скрипт отлаживается, то запускается он десятки раз. А если у тебя сто скриптов, то они могут лежать по всему диску. Ты просто всё не запомнишь или же замучаешься набирать (а скорее всего будет и то и другое вместе взятое). Когда у тебя скрипт готов, ты просто на него ярлык делаешь (даже с аргументами) и добавляешь этот ярлык куда надо.



Отредактировано py.user.next (Июнь 15, 2016 10:36:10)

Офлайн

#8 Июнь 15, 2016 10:40:58

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Консоль: а.как избавиться б.как сохранять консольные логи?

С какой такой радости?
В переменную PATH виндовую прописуем путь к питону и работает так же как и в линуксе и запускать из любого места можно включая всякие там PIP и прочие плюшки.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#9 Июнь 15, 2016 10:47:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Консоль: а.как избавиться б.как сохранять консольные логи?

ZerG
В переменную PATH виндовую прописуем путь к питону
А при чём тут путь к питону? Ты не понимаешь, что скрипты могут лежать вообще где угодно? Речь-то идёт про путь к скрипту, а скрипт может лежать в папке питона, а может не лежать в папке питона. В папку питона кладутся обычно скрипты, имеющие к нему отношение.



Офлайн

#10 Июнь 15, 2016 11:16:09

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Консоль: а.как избавиться б.как сохранять консольные логи?

Ты не понимаешь что я говор о диаметраьно противоположном?
Ты как скрипты на линуксе у себя запускаешь?
Предположим ты находишься у себя в домашней директории
тогда пишешь
python script.py
хотя по обсолютному патчу будет python /home/username/script.py

Находясь в хомяке ты же не можешь запустить скрипт python new.py который у тебя лежит в /home/username/new/new.py

тебе так же надо будет писать path как и на винде.

Это надо будет вот этот path (причём от самого диска C) писать каждый раз для каждого скрипта.
Точно так же как и в линуксе в винде не надо писать патч от начала диска ц!
и если в CMD ты находишься в домашнем каталоге пользователя то точно так же можно запускать скрипт на питоне python script.py если он в корне или
python Downloads\new.py если он у тебя в загрузках;



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version