source

pythonw.exe 또는 python.exe?

factcode 2023. 5. 14. 11:10
반응형

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>

제가 뭘 잘못하고 있는지 말씀해 주세요.

기존 답변 요약 및 보완:

  • python.exe 는 CLI 유형 스크립트(콘솔 응용 프로그램)시작하기 위한 콘솔(터미널) 응용 프로그램입니다.

    • 기존 콘솔 창에서 실행되지 않는 한,python.exe 새 콘솔 창을 엽니다.

    • 표준 스트림 sys.stdin,sys.stdout그리고.sys.stderr콘솔 창에 연결되어 있습니다.

    • 에서 시작할 때 실행이 동기화됩니다.cmd.exe또는 PowerShell 콘솔 창:

      • 새 콘솔 창이 생성된 경우 스크립트가 종료될 때까지 열려 있습니다.
      • 기존 콘솔 창에서 호출하면 스크립트가 종료될 때까지 프롬프트가 차단됩니다.
  • pythonw.exe 는 GUI/UI가 전혀 없는 스크립트를 시작하기 위한 GUI 입니다.

    • 콘솔 창이 열리지 않습니다.
    • 실행이 비동기식입니다.
      • 콘솔 창에서 호출하면 스크립트가 시작되기만 하면 스크립트가 계속 실행 중인지 여부에 관계없이 프롬프트가 바로 표시됩니다.
    • 표준 스트림 sys.stdin,sys.stdout그리고.sys.stderr사용할 수 없습니다.
      • 주의:추가 조치를 취하지 않으면 예상치 못한 부작용이 발생할 수 있습니다.
        • 처리되지 않은 예외로 인해 스크립트가 자동으로 중단됩니다.
        • Python 2.x에서는 단순히 사용을 시도하는 것만으로도 이러한 현상이 발생할 수 있습니다(3.print()단순히 효과가 없음).
          • 스크립트 내에서 이러한 문제를 방지하고 자세한 내용은 다음 답변을 참조하십시오.
          • 임시로 출력 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 출력을 캡처합니다.
            사용할 자신이 있는 경우print()스크립트가 자동으로 실패하는 유일한 이유입니다.pythonw.exe그리고 stdout 출력에 관심이 없는 경우, 댓글에서 @dll 명령을 사용합니다.
            pythonw.exe yourScript.pyw 1>NUL 2>&1
            주의: 이 출력 리디렉션 기술은 호출할 때 작동하지 않습니다.*.pyw스크립트 파일 경로를 에 전달하는 것과 반대로 스크립트를 직접 실행합니다.pythonw.exe). See eryksun's 2nd comment and its follow-ups below.

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

  • *.py파일은 기본적으로 다음과 연결됩니다(연결됨).python.exe
  • *.pyw파일은 기본적으로 다음과 연결됩니다(연결됨).pythonw.exe

할 때 프그램을실행때창터않하표면려도록지시를 합니다.pythonw.exe;
않으면 그지않경우를 합니다.python.exe

오류: 구문관련류:print 3.x 파일 3.x 파일의 입니다.
대신 다음을 사용합니다.

print("a")

다음을 참조하십시오. http://docs.python.org/using/windows.html

pythonw.exe "시작할 때 터미널 창이 표시되지 않습니다."

를 들어 에는 다른프예스세에로파스다명에크서사호니다용합면음을출려이하를트서립썬줄령▁if▁use다▁from▁script니예▁python사를 사용합니다.pythonw.exe 않으면,해서 그지않사다보됩게니다음을서계속해렇용으를 보게 될 것입니다.cmdpython 프로세스를 시작하는 창.스크립트는 동일하게 실행되지만 사용자 환경에 영향을 주지는 않습니다.

를 들어 이 있을 수 python.exeCLI 창을 열고 전자 메일을 보낸 다음 창을 닫습니다.빠른 플래시로 표시되며 다소 성가신 것으로 간주될 수 있습니다. pythonw.exe에서는 이 문제를 방지하지만 전자 메일은 계속 보냅니다.

저는 한동안 이것을 작동시키기 위해 고군분투하고 있었습니다.확장자를 .pyw로 변경한 후 파일의 속성을 열고 "open with" 경로를 pythonw.exe로 지정해야 합니다.

내 경험에 따르면 pythonw.exe는 적어도 pygame을 사용하는 것이 더 빠릅니다.

언급URL : https://stackoverflow.com/questions/9705982/pythonw-exe-or-python-exe

반응형