2009-11-12 7 views
0

필린 트는 내 Windows 상자에서 뭔가 이상한 일을하고 있습니다. 이것은 필립트를 고정하는 것에 관한 질문이 아니므로 내 이해를 고치는 것만큼이나.pylint는 실행중인 Windows 명령 상자를 어떻게 종료합니까?

나는 pylint, Python 2.6 및 Windows Vista의 최신 버전을 일반적으로 설치했습니다.

명령 프롬프트를 열고 명령 행에서 pylint를 실행하면 성공적으로 실행 된 다음 프로그램의 끝 부분에 도달하면 명령 행으로 다시 끝나지 않고 전체를 닫습니다 명령 프롬프트 창.

온라인에서 코드를 간단하게 살펴 보았고 (실제로 실행되는 코드라고 가정) 다양한 오류 수준으로 sys.exit()를 호출하지만 읽는 중이나 테스트하면 좋습니다. 적절한 오류 수준 세트로 명령 행으로 리턴하십시오.

Pylint도 프로젝트의 테스트 체제의 일부로 실행되며, 거기에서 작동합니다. 나는 명령 행 대신 Python 메소드로 호출되면 동일한 문제가 없을 것이라고 제안합니다. 이 코드 경로에서 sys.exit()를 호출하지 마십시오.

pylint가 포함 된 "쉘"은 어떤 메커니즘을 통해 닫을 수 있습니까?

이 경우 Pylint에 버그가 있습니까? 나는 어떻게 보이지 않는다. 파이썬의 버그? Windows의 버그?

+2

pyLint는 배치 파일에서 실행됩니까? –

+1

실제로 그렇습니다. Jim, 대답을 먼저 추측 해 볼 자격이 있지만, wallyk는 의견이 아닌 대답을 통해 투표했습니다. – Oddthinking

답변

2

난 그냥 XP에이 시도 :

t.bat :

exit

이 창을 닫 실행!

아마도 pylint의 명령 줄에 종료가 포함 된 배치 파일이 사용됩니까?

+1

예, @wallyk, Python 스크립트 디렉토리에는 실제로 종료가 포함 된 pylint.bat가 들어 있습니다. Python 및 Windows의 내 정신 모형이 복원되었습니다. 감사합니다. – Oddthinking

1

이것은 매우 쉬운 해결 방법입니다. 파이썬 스크립트 폴더로 가서 pylint.bat를 찾아 메모장에서 엽니 다.

그것은

@echo off 
rem = """-*-Python-*- script 
rem -------------------- DOS section -------------------- 
rem You could set PYTHONPATH or TK environment variables here 
python -x "%~f0" %* 
goto exit 

""" 
# -------------------- Python section -------------------- 
import sys 
from pylint import lint 
lint.Run(sys.argv[1:]) 


DosExitLabel = """ 
:exit 
exit(ERRORLEVEL) 
rem """

다음 그것은 기본적으로 다음과 같은

@echo off 
rem = """-*-Python-*- script 
rem -------------------- DOS section -------------------- 
rem You could set PYTHONPATH or TK environment variables here 
python -x "%~f0" %* 
goto exit 

""" 
# -------------------- Python section -------------------- 
import sys 
from pylint import lint 
lint.Run(sys.argv[1:]) 


DosExitLabel = """ 
:exit 
ECHO. 
rem exit(ERRORLEVEL) 
rem """

에 프롬프트 폐쇄 변화의 손에서 문제를 해결하려면 내가 출구 주석이었다 않았다 모든 (ERRORLEVEL)를 읽 "rem"키워드를 입력하고 "ECHO"로 빈 줄 인쇄를 다시 한 후 프롬프트로 돌아갑니다. 프롬프트가 출력과 함께 왜곡되지 않도록하십시오.