[python] pythonw.exe 또는 python.exe?

짧은 이야기 : pythonw.exe아무것도하지 않고 아무것도받지 python.exe않습니다 (어떤 것을 사용해야합니까?)

test.py :

print "a"

CMD 창 :

C:\path>pythonw.exe test.py
<BLANK LINE>
C:\path>

C:\path>python.exe test.py
  File "C:\path\test.py", line 7
    print "a"
            ^
SyntaxError: invalid syntax

C:\path>

내가 뭘 잘못하고 있는지 말해줘



답변

프로그램을 실행할 때 터미널 창이 나타나지 않게하려면 pythonw.exe;
그렇지 않으면python.exe

구문 오류와 관련하여 : print 이제 3.x의 함수
이므로 대신 사용하십시오.

print("a")


답변

기존 답변을 요약하고 보완하려면 :

  • python.exeCLI 유형 스크립트를 실행하기위한 콘솔 (터미널) 애플리케이션 입니다 .

    • 기존 콘솔 창에서 실행하지 않는 python.exe 한 새 콘솔 창을 엽니 다 .
    • 표준 스트림 sys.stdin , sys.stdoutsys.stderr되는 콘솔 창에 연결 .
    • 실행은 동기 A로부터 시작 할 때 cmd.exe: 또는 PowerShell 콘솔 창 참조 eryksun ‘아래 첫번째 코멘트를에요.

      • 새 콘솔 창이 작성된 경우 스크립트가 종료 될 때까지 열린 상태로 유지됩니다.
      • 기존 콘솔 창에서 호출되면 스크립트가 종료 될 때까지 프롬프트가 차단됩니다.
  • pythonw.exeGUI / no-UI-at-all 스크립트를 실행하기위한 GUI 앱 입니다 .

    • 콘솔 창이 열리지 않습니다.
    • 실행은 비동기 적입니다 .
      • 콘솔 창에서 호출하면 스크립트가 시작 되고 스크립트 실행 여부와 상관없이 프롬프트가 즉시 반환됩니다.
    • 표준 스트림 sys.stdin , sys.stdout그리고 sys.stderr있습니다 사용할 수 없습니다 .
      • 주의 : 당신이 추가 단계를 수행하지 않는 한 ,이가 잠재적으로 예상치 못한 부작용 :
        • 처리되지 않은 예외로 인해 스크립트가 자동 으로 중단 됩니다.
        • Python 2.x에서는 단순히 사용하려고 print()하면이 문제가 발생할 수 있습니다 (3.x에서는 print()효과가 없습니다).
        • 스크립트 내에서 이를 방지하고 자세한 내용을 보려면 내 대답 을 참조하십시오 .
        • Ad , 당신은 출력 리디렉션을 사용할 수 있습니다 : Thanks, @handle.
          pythonw.exe yourScript.pyw 1>stdout.txt 2>stderr.txt
          (PowerShell
          cmd /c pythonw.exe yourScript.pyw 1>stdout.txt 2>stderr.txt🙂 파일 에서 stdout 및 stderr 출력을 캡처 합니다 . 스크립트 사용이 자동으로 실패하는 유일한 이유
          라고 확신하고 stdout 출력에 관심이없는 경우 주석에서 @handle 의 명령을 사용하십시오. 경고 :이 출력 리디렉션 기술은 스크립트를 직접 호출 할 때 작동 하지 않습니다 ( 스크립트 파일 경로를 ) 에 전달하는 것과 반대 입니다. 아래의 eryksun 의 2 번째 코멘트 및 후속 조치를 참조하십시오.print()pythonw.exe
          pythonw.exe yourScript.pyw 1>NUL 2>&1
          *.pywpythonw.exe

올바른 파일 이름 확장자를 선택하여 탐색기에서 열 때와 같이 기본적으로 스크립트를 실행하는 실행 파일을 제어 할 수 있습니다 .

  • *.py 파일은 기본적으로 python.exe
  • *.pyw 파일은 기본적으로 pythonw.exe

답변

여기를 참조하십시오 : http://docs.python.org/using/windows.html

pythonw.exe “시작시 터미널 창이 표시되지 않습니다.”


답변

다른 프로세스 (예 : 명령 줄)에서 파이썬 스크립트를 호출하려면을 사용하십시오 pythonw.exe. 그렇지 않으면 사용자 cmd에게 파이썬 프로세스를 시작 하는 창이 계속 나타납니다 . 스크립트는 여전히 똑같이 실행되지만 사용자 경험에는 영향을 미치지 않습니다.

예를 들어 이메일을 보내는 경우가 있습니다. python.exeCLI 창을 열고 이메일을 보낸 다음 창을 닫습니다. 빠른 플래시처럼 보이며 다소 성가신 것으로 간주 될 수 있습니다. pythonw.exe이를 피하지만 여전히 이메일을 보냅니다.


답변

나는 이것을 잠시 동안 작동시키는 데 어려움을 겪고있었습니다. 확장명을 .pyw로 변경 한 후에는 파일의 속성을 열고 “열기”경로를 pythonw.exe로 지정하십시오.


답변

내 경험상 pythonw.exe는 적어도 pygame을 사용하면 빠릅니다.


답변