Właśnie zacząłem z Python. Kiedy uruchamiam plik skryptu Pythona w systemie Windows, okno wyjściowe pojawia się, ale natychmiast znika. Potrzebuję go, aby tam pozostać, aby móc analizować moje wyniki. Jak mogę zachować to otwarte?
193
Odpowiedzi:
Masz kilka opcji:
Uruchom program z już otwartego terminalu. Otwórz wiersz polecenia i wpisz:
Aby to zadziałało, potrzebujesz na swojej ścieżce pliku wykonywalnego Python. Po prostu sprawdź, jak edytować zmienne środowiskowe w systemie Windows i dodaj
C:\PYTHON26
(lub dowolny katalog, w którym zainstalowałeś Pythona).Kiedy program się skończy, przeniesie Cię z powrotem do monitu cmd zamiast zamykać okno.
Dodaj kod, aby czekać na koniec skryptu. W przypadku Python2 dodawanie ...
... na końcu skryptu każe mu czekać na Enterklucz. Ta metoda jest denerwująca, ponieważ musisz zmodyfikować skrypt i pamiętać o jego usunięciu po zakończeniu. Szczególnie denerwujące podczas testowania skryptów innych osób. W przypadku Python3 użyj
input()
.Użyj edytora, który wstrzymuje się za Ciebie. Niektóre edytory przygotowane dla Pythona automatycznie wstrzymują się po wykonaniu. Inne edytory pozwalają na konfigurację wiersza poleceń, którego używa do uruchamiania programu. Uważam, że szczególnie przydatne jest skonfigurowanie go jako „
python -i myscript.py
” podczas działania. Spowoduje to przeniesienie do powłoki Pythona po zakończeniu programu z załadowanym środowiskiem programu, dzięki czemu możesz dalej bawić się zmiennymi oraz wywoływać funkcje i metody.źródło
cmd /k
jest typowym sposobem otwierania dowolnej aplikacji konsoli (nie tylko Pythona) za pomocą okna konsoli, które pozostanie po zamknięciu aplikacji. Najłatwiej mogę to zrobić, naciskając Win + R, wpisując,cmd /k
a następnie przeciągając i upuszczając skrypt, który chcesz, w oknie dialogowym Uruchom.źródło
cmd /k
jest tylko dla systemu Windows. Przykro mi, nie mogę pomóc z alternatywą dla komputerów Mac.Uruchom skrypt z już otwartego okna cmd lub na końcu skryptu dodaj coś takiego w Python 2:
Lub w Python 3:
źródło
Aby zachować okno otwarte w przypadku wyjątku (jeszcze podczas drukowania wyjątku)
Python 2
Aby okno pozostało otwarte w każdym przypadku:
Python 3
W przypadku Python3 będziesz musiał użyć
input()
zamiastraw_input()
i oczywiście dostosowaćprint
instrukcje.Aby okno pozostało otwarte w każdym przypadku:
źródło
możesz połączyć odpowiedzi wcześniej: (dla użytkownika Notepad ++)
naciśnij klawisz F5, aby uruchomić bieżący skrypt i wpisz polecenie:
w ten sposób pozostajesz w trybie interaktywnym po uruchomieniu skryptu pythonowego Notepad ++ i możesz bawić się swoimi zmiennymi i tak dalej :)
źródło
Utwórz plik wsadowy systemu Windows za pomocą tych 2 wierszy:
źródło
import os os.system("pause")
na końcu.py
plikuraw_input
lub inne śmieci są po prostu błędne. Wpisz polecenie w wierszu poleceń w sposób, w jaki oczekuje tego Python, lub użyj języka wsadowego dostarczanego z MS-DOS do tego celu od sierpnia 1981 r .python %*
i ustaw jako jeden z programów „otwórz za pomocą”, dzięki czemu możesz albo kliknąć plik .py prawym przyciskiem myszy, aby otworzyć okno pauzy, albo umieścić go w folderze Anaconda3 (w ścieżce) jako py_pause.bat, więc teraz Mogę biegaćpy_pause my-prog.py all my args
z linii cmdW Pythonie 2 możesz to zrobić za pomocą: raw_input ()
W Pythonie 3 możesz to zrobić za pomocą: input ()
Możesz to również zrobić za pomocą time.sleep (time)
źródło
Używając
atexit
, możesz zatrzymać program zaraz po jego wyjściu. Jeśli błąd / wyjątek jest przyczyną wyjścia, zatrzyma się po wydrukowaniu śledzenia stosu.W moim programie, kładę wywołanie
atexit.register
wexcept
klauzuli, tak, że będzie wstrzymać tylko wtedy, gdy coś poszło nie tak.źródło
Miałem podobny problem. W Notepad ++ korzystałem z polecenia:
C:\Python27\python.exe "$(FULL_CURRENT_PATH)"
które zamykało okno cmd natychmiast po zakończeniu kodu.Teraz używam,
cmd /k c:\Python27\python.exe "$(FULL_CURRENT_PATH)"
który utrzymuje otwarte okno cmd.źródło
W Pythonie 3
Da rade.
źródło
Aby po prostu pozostawić otwarte okno, zgadzam się z Anurag i to właśnie zrobiłem, aby moje okna były otwarte dla krótkich, małych programów typu obliczeniowego.
To po prostu pokazuje kursor bez tekstu:
Poniższy przykład dałby jasny komunikat, że program jest zakończony i nie czekał na kolejne pytanie wejściowe w programie:
W następnym przykładzie używam podwójnych cudzysłowów i to nie zadziała, ponieważ wydaje się, że istnieje przerwa w cudzysłowach między „funkcją” a „funkcją”, nawet jeśli ją czytasz, twój własny umysł może to doskonale zrozumieć:
Mam nadzieję, że pomoże to innym osobom, które zaczynają i nadal nie wiedzą, jak myśli komputer. To może chwilę potrwać. : o)
źródło
Jeśli chcesz uruchomić skrypt ze skrótu na pulpicie, kliknij prawym przyciskiem myszy plik Pythona i wybierz
Send to|Desktop (create shortcut)
. Następnie kliknij prawym przyciskiem myszy skrót i wybierz Właściwości. Na karcie Skrót wybierz pole tekstowe Cel: dodajcmd /k
przed ścieżką i kliknij OK. Skrót powinien teraz uruchamiać skrypt bez zamykania i nie potrzebujesz goinput('Hit enter to close')
Uwaga: jeśli masz więcej niż jedną wersję Pythona na swoim komputerze, dodaj nazwę wymaganego pliku wykonywalnego Pythona między cmd / k a ścieżką scipt w następujący sposób:
źródło
Oprócz
input
iraw_input
możesz także użyć nieskończonejwhile
pętli, takiej jak:while True: pass
(Python 2.5 + / 3) lubwhile 1: pass
(wszystkie wersje Python 2/3). Może to jednak wymagać mocy obliczeniowej.Możesz także uruchomić program z wiersza poleceń. Wpisz
python
w wierszu poleceń (Mac OS X Terminal) i powinien powiedziećPython 3.?.?
(Twoja wersja w języku Python) Nie pokazuje twojej wersji w języku Python lub mówipython: command not found
: spójrz na zmianę wartości PATH (wartości środowiskowe, wymienione powyżej) / typeC:\(Python folder\python.exe
. Jeśli to się powiedzie, typpython
lubC:\(Python installation)\python.exe
oraz pełny katalog twojego programu.źródło
Bardzo spóźniona odpowiedź, ale utworzyłem plik wsadowy Windows o nazwie
pythonbat.bat
zawierający:a następnie określone
pythonbat.bat
jako domyślny moduł obsługi dla.py
plików.Teraz, kiedy kliknę dwukrotnie a
.py
plik w Eksploratorze plików, otwiera nowe okno konsoli, uruchamia skrypt Python, a następnie zatrzymuje się (pozostaje otwarty), dopóki nie naciśnie żadnego klawisza ...Żadne zmiany nie są wymagane w żadnych skryptach Python.
Nadal mogę otworzyć okno konsoli i określić
python myscript.py
czy chcę ...(Właśnie zauważyłem, że @ Maurizio opublikował już tę dokładną odpowiedź)
źródło
Jeśli chcesz pozostać w otwartym oknie cmd ORAZ znajdować się w katalogu z uruchomionym plikiem, działa to w systemie Windows 10:
źródło
Znalazłem rozwiązanie w moim środowisku py3 na win10 to po prostu uruchom cmd lub PowerShell jako Administrator, a dane wyjściowe pozostaną w tym samym oknie konsoli, każde inne polecenie użytkownika uruchamiające python spowoduje, że Python otworzy nowe okno konsoli.
źródło
Możesz po prostu pisać
na końcu kodu
dlatego po uruchomieniu skryptu będzie on czekał na wprowadzenie danych
źródło
Możesz otworzyć PowerShell i wpisać „python”. Po zaimportowaniu Pythona możesz skopiować kod źródłowy z ulubionego edytora tekstu, aby go uruchomić.
Okno się nie zamknie.
źródło
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")
print "hello world"
python hello.py
źródło
Prosty hack, aby utrzymać okno otwarte:
Licznik jest taki, że kod się nie powtórzy.
źródło
Najprostszy sposób:
spowoduje to pozostawienie kodu na 1 minutę, a następnie zamknięcie.
źródło
W Windows 10 wstaw na początku:
Dziwne, ale dla mnie działa! (Oczywiście wraz z input () na końcu)
źródło