개발/Python

[파이썬] 스크립트 출력 창을 열어 두는 방법

MinorMan 2023. 8. 12. 14:20
반응형

<질문>

나는 방금 파이썬으로 시작했습니다. Windows에서 Python 스크립트 파일을 실행하면 출력 창이 나타나지만 즉시 사라집니다. 내 출력을 분석할 수 있도록 거기에 있어야 합니다. 어떻게 열어둘 수 있나요?


<답변1>

몇 가지 옵션이 있습니다.

  1. 이미 열려 있는 터미널에서 프로그램을 실행합니다. 명령 프롬프트를 열고 다음을 입력합니다.그것이 작동하려면 경로에 파이썬 실행 파일이 필요합니다. Windows에서 환경 변수를 편집하는 방법을 확인하고 C:\PYTHON26 (또는 Python을 설치한 디렉토리)을 추가하십시오.
  2. 프로그램이 종료되면 창을 닫는 대신 cmd 프롬프트로 돌아갑니다.
  3. python myscript.py
  4. 스크립트 끝에서 기다릴 코드를 추가하십시오. Python2의 경우 추가 ...... 스크립트 끝에서
    Enter
    키를 기다리게 합니다. 이 방법은 스크립트를 수정해야 하고 작업이 완료되면 제거하는 것을 기억해야 하기 때문에 성가신 일입니다. 다른 사람의 스크립트를 테스트할 때 특히 성가신 일입니다. Python3의 경우 input() 사용합니다.
  5. raw_input()
  6. 일시 중지되는 편집기를 사용하십시오. Python용으로 준비된 일부 편집기는 실행 후 자동으로 일시 중지됩니다. 다른 편집기를 사용하면 프로그램을 실행하는 데 사용하는 명령줄을 구성할 수 있습니다. 실행할 때 " python -i myscript.py "로 구성하는 것이 특히 유용하다는 것을 알았습니다. 그러면 프로그램 종료 후 프로그램 환경이 로드된 Python 셸로 이동하므로 변수를 가지고 더 놀고 함수와 메서드를 호출할 수 있습니다.

<답변2>

cmd /k응용 프로그램이 닫힌 후에도 남아 있는 콘솔 창으로 모든 콘솔 응용 프로그램(Python뿐만 아니라)을 여는 일반적인 방법입니다. 제가 생각할 수 있는 가장 쉬운 방법은 Win+R을 누르고 다음을 입력하는 것입니다.cmd /k그런 다음 원하는 스크립트를 실행 대화 상자로 끌어다 놓습니다.


<답변3>

이미 열려 있는 cmd 창에서 스크립트를 시작하거나 스크립트 끝에 Python 2에서 다음과 같이 추가합니다.

 raw_input("Press enter to exit;")

또는 Python 3에서:

input("Press enter to exit;")

<답변4>

예외의 경우 창을 열어 두려면(아직 예외를 인쇄하는 동안)

if __name__ == '__main__':
    try:
        ## your code, typically one function call
    except Exception:
        import sys
        print sys.exc_info()[0]
        import traceback
        print traceback.format_exc()
        print "Press Enter to continue ..." 
        raw_input() 

어떤 경우에도 창을 열어 두려면:

if __name__ == '__main__':
    try:
        ## your code, typically one function call
    except Exception:
        import sys
        print sys.exc_info()[0]
        import traceback
        print traceback.format_exc()
    finally:
        print "Press Enter to continue ..." 
        raw_input()

Python3의 경우 다음을 수행해야 합니다.use input() in place of raw_input(), 물론 적응print진술.

if __name__ == '__main__':
    try:
        ## your code, typically one function call
    except BaseException:
        import sys
        print(sys.exc_info()[0])
        import traceback
        print(traceback.format_exc())
        print("Press Enter to continue ...")
        input() 

어떤 경우에도 창을 열어 두려면:

if __name__ == '__main__':
    try:
        ## your code, typically one function call
except BaseException:
    import sys
    print(sys.exc_info()[0])
    import traceback
    print(traceback.format_exc())
finally:
    print("Press Enter to continue ...")
    input()

<답변5>

다음 전에 답변을 결합할 수 있습니다. (Notepad++ 사용자의 경우)

F5를 눌러 현재 스크립트를 실행하고 명령을 입력합니다.

cmd /k python -i "$(FULL_CURRENT_PATH)"

이런 식으로 Notepad++ 파이썬 스크립트를 실행한 후 대화형 모드를 유지하고 변수 등을 가지고 놀 수 있습니다 :)


<답변6>

다음 두 줄로 Windows 배치 파일을 만듭니다.

python your-program.py

pause

<답변7>

사용atexit, 프로그램이 종료될 때 바로 일시 중지할 수 있습니다. 오류/예외가 종료의 원인인 경우 스택 추적을 인쇄한 후 일시 중지됩니다.

import atexit

# Python 2 should use `raw_input` instead of `input`
atexit.register(input, 'Press Enter to continue...')

내 프로그램에서 나는atexit.register에서except문제가 발생한 경우에만 일시 중지되도록 합니다.

if __name__ == "__main__":
    try:
        something_that_may_fail()

    except:
        # Register the pause.
        import atexit
        atexit.register(input, 'Press Enter to continue...')

        raise # Reraise the exception.

<답변8>

파이썬 2에서는 다음과 같이 할 수 있습니다: raw_input()

>>print("Hello World!")    
>>raw_input('Waiting a key...')

파이썬 3에서는 다음과 같이 할 수 있습니다: input()

>>print("Hello world!")    
>>input('Waiting a key...')

또한 time.sleep(time)

>>import time
>>print("The program will close in 5 seconds")
>>time.sleep(5)

<답변9>

파이썬 3에서

input('Press Enter to Exit...')

트릭을 할 것입니다.


<답변10>

당신은 그냥 쓸 수 있습니다

input()

코드 끝에서

따라서 스크립트를 실행하면 무언가를 입력하기를 기다립니다.

{ENTER for example}

<답변11>

나는 비슷한 문제가 있었다. 메모장 ++에서는 다음 명령을 사용했습니다.C:\Python27\python.exe "$(FULL_CURRENT_PATH)"코드 종료 직후 cmd 창을 닫았습니다.
지금 나는 사용하고있다cmd /k c:\Python27\python.exe "$(FULL_CURRENT_PATH)"cmd 창을 열어 둡니다.


<답변12>

창을 계속 열어두기 위해 저는 Anurag에 동의하며 짧은 계산 유형 프로그램을 위해 창을 열어두기 위해 제가 한 일입니다.

이렇게 하면 텍스트가 없는 커서만 표시됩니다.

raw_input() 

다음 예는 프로그램이 완료되었으며 프로그램 내에서 다른 입력 프롬프트를 기다리지 않는다는 명확한 메시지를 제공합니다.

print('You have reached the end and the "raw_input()" function is keeping the window open') 
raw_input()

메모! (1) 파이썬 3에는 raw_input()이 없고 input()만 있습니다. (2) 작은따옴표를 사용하여 문자열을 나타냅니다. 그렇지 않으면 "raw_input()"과 같은 항목 주위에 doubles를 입력하면 텍스트가 아닌 함수, 변수 등으로 간주됩니다.

이 다음 예에서는 큰따옴표를 사용했는데 "the"와 "function" 사이의 따옴표가 끊어진 것으로 생각하기 때문에 작동 하지 않습니다 .

print("You have reached the end and the "input()" function is keeping the window open")
input()

바라건대 이것은 컴퓨터가 어떻게 생각하는지 아직 이해하지 못한 다른 사람들에게 도움이 되기를 바랍니다. 시간이 걸릴 수 있습니다. :영형)


<답변13>

바탕 화면 바로 가기에서 스크립트를 실행하려면 Python 파일을 마우스 오른쪽 버튼으로 클릭하고Send to|Desktop (create shortcut). 그런 다음 바로 가기를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다. 바로 가기 탭에서 대상: 텍스트 상자를 선택하고 추가합니다.cmd /k경로 앞에 놓고 확인을 클릭합니다. 바로 가기는 이제 닫지 않고 스크립트를 실행해야 하며input('Hit enter to close')

시스템에 둘 이상의 Python 버전이 있는 경우 다음과 같이 cmd /k와 scipt 경로 사이에 필요한 Python 실행 파일의 이름을 추가하십시오.

cmd /k python3 "C:\Users\\Documents\your_scipt.py"

<답변14>

와는 별개로input그리고raw_input, 당신은 또한 무한을 사용할 수 있습니다while루프, 다음과 같이:while True: pass(파이썬 2.5+/3) 또는while 1: pass(Python 2/3의 모든 버전). 그러나 이것은 컴퓨팅 성능을 사용할 수 있습니다.

명령줄에서 프로그램을 실행할 수도 있습니다. 유형python명령줄(Mac OS X 터미널)에 입력하면 다음과 같이 표시되어야 합니다.Python 3.?.?(귀하의 Python 버전) Python 버전이 표시되지 않거나 다음과 같이 표시됩니다.python: command not found, 변경되는 PATH 값(위에 나열된 환경 값)/유형을 살펴봅니다.C:\(Python folder\python.exe. 성공하면 다음을 입력하십시오.python또는C:\(Python installation)\python.exe그리고전체 디렉토리당신의 프로그램의.


<답변15>

많이 뒤늦은 답변이지만 Windows Batch라는 파일을 만들었습니다.pythonbat.bat다음을 포함합니다.

python.exe %1
@echo off
echo.
pause

그런 다음 지정pythonbat.bat에 대한 기본 처리기로.py파일.

이제 두 번 클릭하면.py파일 탐색기에서 새 콘솔 창을 열고 Python 스크립트를 실행한 다음 아무 키나 누를 때까지 일시 중지(열린 상태로 유지)...

Python 스크립트를 변경할 필요가 없습니다.

여전히 콘솔 창을 열고 지정할 수 있습니다.python myscript.py내가 원한다면...

(방금 @maurizio가 이미 이 정확한 답변을 게시한 것을 확인했습니다.)


<답변16>

cmd-window를 열린 상태로 유지하고 실행 중인 파일 디렉토리에 있으려면 Windows 10에서 작동합니다.

cmd /k cd /d $(CURRENT_DIRECTORY) && python $(FULL_CURRENT_PATH)

<답변17>

win10의 내 py3 환경에서 솔루션은 관리자로 cmd 또는 powershell을 실행하고 출력은 동일한 콘솔 창에 유지되며 다른 유형의 사용자 실행 python 명령을 사용하면 Python이 새 콘솔 창을 열게 됩니다.


<답변18>

가장 간단한 방법:

your_code()

while True:
   pass

창을 열면 프롬프트를 닫을 때까지 닫히지 않습니다.


<답변19>

`import sys,traceback
sys.exc_info()[0]
traceback.format_exc()
print("Press Enter to exit ...")
input()`

실제 코드 뒤에 위의 코드를 작성하기만 하면 됩니다. 예를 들어 사용자로부터 입력을 받고 콘솔에 인쇄하므로 내 코드는 다음과 같습니다 -->

`import sys,traceback
nam=input("enter your name:")
print("your name is:-{}".format(nam)) #here all my actual working is done
sys.exc_info()[0]
traceback.format_exc()
print("Press Enter to exit ...")
input()`

<답변20>

이 시도,

import sys

stat='idlelib' in sys.modules

if stat==False:
    input()

IDLE이 아닌 콘솔 창만 중지합니다.


<답변21>

다음을 사용하여 Python을 시작할 수 있습니다.-i옵션 또는 환경 변수 설정PYTHONINSPECT=x. 문서에서:

스크립트를 실행한 후 대화식으로 검사합니다. stdin이 터미널이 아닌 것처럼 보이더라도 프롬프트를 강제합니다. 또한 PYTHONINSPECT=x

따라서 스크립트가 충돌하거나 완료되면 Python 프롬프트가 표시되고 창이 닫히지 않습니다.


<답변22>

import time

def dontClose():
    n = 1
    while n > 0:
        n += 1
        time.sleep(n)
        

그런 다음 코드 다음에 함수를 실행하십시오. 예를 들어:

print("Hello, World!")
dontClose()

<답변23>

  1. 가다hereNotepad++ 다운로드 및 설치
  2. 가다here3이 아닌 Python 2.7을 다운로드하여 설치하십시오.
  3. 시작하고 Powershell을 실행합니다. 다음을 입력.[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")
  4. Powershell을 닫았다가 다시 엽니다.
  5. 프로그램을 위한 디렉토리를 만드십시오. mkdir 스크립트
  6. 해당 디렉토리 cd 스크립트 열기
  7. Notepad++에서 새 파일에 다음을 입력합니다.print "hello world"
  8. 파일을 hello.py로 저장
  9. powershell로 돌아가서 dir을 입력하여 올바른 디렉토리에 있는지 확인하십시오. 거기에 hello.py 파일이 보일 것입니다.
  10. Powershell 프롬프트에 다음을 입력합니다.python hello.py

<답변24>

Windows 10에서 다음을 시작할 때 삽입하십시오.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

이상하지만 저에게는 효과가 있습니다!(물론 마지막에 input()과 함께)


<답변25>

PowerShell을 열고 "python"을 입력할 수 있습니다. Python을 가져온 후 즐겨 사용하는 텍스트 편집기에서 소스 코드를 복사하여 붙여넣어 코드를 실행할 수 있습니다.

창이 닫히지 않습니다.


<답변26>

창을 열어두는 간단한 방법:

counter = 0

While (True):

    If (counter == 0):

        # Code goes here

    counter += 1

카운터는 코드가 반복되지 않도록 하는 것입니다.


<답변27>

가장 간단한 방법:

import time

#Your code here
time.sleep(60)
#end of code (and console shut down)

이렇게 하면 코드가 1분 동안 그대로 있다가 닫힙니다.

반응형