2010-12-23 1 views
1

을 실행하지 않습니다하고 IDLE에서 잘 작동 이클립스 파이썬 3. 그러나파이썬 스크립트 내가 쓴 숙제에 대해 다음을 통해 IDLE에서 확인 TextMate를, 이클립스

를 실행, 나는 TextMate를에서 실행하려 Mac에서 파이썬 3을 가리 키기 위해 여기에서 찾은 새로운 라인 1을 사용합니다. 그것은 파이썬 3을 실행하는 것 같지만 오류를 반환합니다. 그것은 말합니다 : EOFError : EOF 라인을 읽을 때. 아래 라인 5를 참조하십시오.

누구나 알 수 있습니까?

나는이 TextMate 문제가 숙제 과제의 일부가 아니므로 숙제를 얻으 려하지 않습니다. 난 그냥 TextMate에 사용되는 파이썬 3로

#! /usr/local/bin/python3 
# 
# Tests user string against two conditions. 
# 
user_string = input("Enter a string that is all upper case and ends with a period: ") 
if user_string.isupper() and user_string.endswith("."): 
    print("Your string met both conditions.") 
else: 
    if user_string.isupper(): 
     print("Your string does not end with a period.") 
    elif user_string.endswith("."): 
     print("Your string is not all upper.") 
    else: 
     print("Your string failed both conditions.") 
+0

숙제 도움을 요청하는 데는 문제가 없습니다. 숙제 할 것을 우리에게 요구하지 않는 한. – Falmarri

+0

감사합니다. 알겠습니다. – Farrell

답변

2

보고있는 문제는 Python 버전과 아무 관련이 없습니다. 문제는 TextMate가 표준 입력을 리디렉션하려고하지 않기 때문에 TextMate의 Python 번들 Run Script 명령을 통해 실행 중일 때 Python 프로그램이 바로 파일 끝을 보게된다는 것입니다. As explained here, TextMate는이 기능에 더 매료되었지만 사용 된 메커니즘이 더 이상 OS X 10.6에서 작동하지 않아 기능이 비활성화되었습니다.

하나의 솔루션의 TextMate의 파이썬 번들의 시프트 - 명령 - RRun Script in Terminal 명령을 사용하는 것입니다. 이렇게하면 TextMate가 터미널 창을 열고 거기에서 스크립트를 실행하고 입력을 입력 할 수 있습니다. 불행하게도, TextMate는 보통 Command-RRun Script command을 사용하여 주얼리 라인을 존중하지만, Run Script in Terminal 명령에서는 그렇지 않습니다. 다양한 방법으로 자신을 확인할 수 있습니다. TextMate에이 코드를 실행 해보십시오 :

#! /usr/local/bin/python3 
import sys 
print(sys.executable) 

그 해결하기 위해, 당신의 TextMate에서 TM_PYTHON 환경 변수를 설정할 수 있습니다. 방법에 대한 자세한 내용은 the answer here을 참조하십시오.

+0

분명히 그것을 설명하는 것 같습니다. 터미널에서 실행했을 때 파이썬 3 문법에 문제가있는 것으로 보였다. – Farrell

+0

솔루션이 작동합니다. 프로젝트에서 TM_PYTHON을 편집했고 터미널에서 제대로 실행되었습니다. 매우 감사합니다. – Farrell

+0

좋아요! BTW, StackOverflow에 대한 질문을하면 예상 답변은 허용되는 답변 (응답자가 평판 포인트를받는 방식)을 표시하거나 수용 가능한 대답을 얻을 때까지 질문을 수정하는 것입니다. –

0

를 TextMate를 사용하는 방법을 알아 내려고합니다 내장 된 파이썬, 오히려 오두막 라인을 존중보다. 올바른 파이썬을 사용하려면 아마도 번들 코드를 해킹해야 할 것입니다.

+0

감사합니다. 아래 해결 방법으로 해결했습니다. 프로젝트에서 TM_PYTHON으로 편집하십시오. – Farrell

관련 문제