짧은 이야기 : 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.exe
CLI 유형 스크립트를 실행하기위한 콘솔 (터미널) 애플리케이션 입니다 .- 기존 콘솔 창에서 실행하지 않는
python.exe
한 새 콘솔 창을 엽니 다 . - 표준 스트림
sys.stdin
,sys.stdout
및sys.stderr
되는 콘솔 창에 연결 . -
실행은 동기 A로부터 시작 할 때
cmd.exe
: 또는 PowerShell 콘솔 창 참조 eryksun ‘아래 첫번째 코멘트를에요.- 새 콘솔 창이 작성된 경우 스크립트가 종료 될 때까지 열린 상태로 유지됩니다.
- 기존 콘솔 창에서 호출되면 스크립트가 종료 될 때까지 프롬프트가 차단됩니다.
- 기존 콘솔 창에서 실행하지 않는
-
pythonw.exe
GUI / 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
*.pyw
pythonw.exe
- 주의 : 당신이 추가 단계를 수행하지 않는 한 ,이가 잠재적으로 예상치 못한 부작용 :
올바른 파일 이름 확장자를 선택하여 탐색기에서 열 때와 같이 기본적으로 스크립트를 실행하는 실행 파일을 제어 할 수 있습니다 .
*.py
파일은 기본적으로python.exe
*.pyw
파일은 기본적으로pythonw.exe
답변
답변
다른 프로세스 (예 : 명령 줄)에서 파이썬 스크립트를 호출하려면을 사용하십시오 pythonw.exe
. 그렇지 않으면 사용자 cmd
에게 파이썬 프로세스를 시작 하는 창이 계속 나타납니다 . 스크립트는 여전히 똑같이 실행되지만 사용자 경험에는 영향을 미치지 않습니다.
예를 들어 이메일을 보내는 경우가 있습니다. python.exe
CLI 창을 열고 이메일을 보낸 다음 창을 닫습니다. 빠른 플래시처럼 보이며 다소 성가신 것으로 간주 될 수 있습니다. pythonw.exe
이를 피하지만 여전히 이메일을 보냅니다.
답변
나는 이것을 잠시 동안 작동시키는 데 어려움을 겪고있었습니다. 확장명을 .pyw로 변경 한 후에는 파일의 속성을 열고 “열기”경로를 pythonw.exe로 지정하십시오.
답변
내 경험상 pythonw.exe는 적어도 pygame을 사용하면 빠릅니다.