2013-07-01 2 views
2

나는 몇 번이나 질문을 받았지만 좋은 해결책을 찾지 못했다. python.exe 명령 줄 인수 등을 사용하여 파이썬 스크립트를 실행하여 실행 후 파이썬 스크립트를 일시 중지하고 싶습니다. 이상적인 해결책은 python myscript.py -pause과 같습니다. 이제 실행 후"아무 키나 계속 눌러 ..."라고 말합니다. 내가 아는 한이 방법은 불가능하지만 비슷한 해결책을 찾고 있습니다.python.exe를 실행하고 스크립트가 실행 된 후 잠시 멈춤

  1. 는 cmd를 라인 내 스크립트를 실행 : 내가 지금까지 발견했습니다

    솔루션은 있습니다 지금 종료가 돌아 가야 작성해야, cmd /K python myscript.py하지만 cmd를 창 바보 열 잎 내 텍스트 에디터.

  2. 수작업으로 파이썬 스크립트에 input("Press any key to continue ...")을 추가했지만 한 시간 안에 25 개의 다른 스크립트를 열어야하는 경우가 종종 있습니다. 각 스크립트에 대해 작성한 다음 바르게 끝내면 제거합니다.

스크립트가 실행 된 후 자동으로 input() (으)로 전화하는 것과 같은 더 나은 해결책이 있습니까?

답변

2

당신은 파이썬 스크립트 옵션 --pause를 추가하고 해당 옵션이 설정되어있는 경우에만 키를 누를 때 메시지를 표시 할 수 :하지만, 모든 스크립트를 수정 필요

import getopt 
import msvcrt 

opts, args = getopt.getopt(sys.argv[1:], '...', ['pause', ...]) 
for opt, arg in opts: 
    if opt == "--pause": 
     promptForKeypress = True 
    ... 
... 
if promptForKeypress: 
    msvcrt.getch()  # note: Windows-only 
# End of Script 

. 또 다른 옵션은 파이썬 스크립트를 실행하기 위해이 같은 배치 스크립트를 사용 할 수 있습니다

@echo off 

if not "%1"=="" (
    python %* 
    pause 
) 

이처럼 사용

pyrunner.cmd script.py {options} 
+0

배치 스크립트가 일을했다, 감사합니다! :) –

관련 문제