2017-12-10 23 views
-2

하나는 인터넷에서 많은 작은 프로그램이나 샘플 코드를 찾았습니다.이 프로그램은 작성된 컨텍스트 (shebang)를 반드시 지정하지 않으며 문자열에 대해 .format() 메서드로 분명한 것을 사용하지 않습니다.코드 조각이 작성된 파이썬 버전을 어떻게 확인할 수 있습니까?

일부 또는 다른 버전의 Python과 충돌 할 수 있지만 이는 근본적인 비 호환성으로 인한 것이 아니라 찾을 수없는 라이브러리 누락으로 인한 것일 수 있습니다.

그래서 질문은 : "코드가 파이썬 버전과 호환되는지를 결정하는 가장 좋은 기준은 무엇입니까?"

편집 : 다른 질문을 만든 사람들에게 감사의 말을 전합니다. 도구를 찾는 것이 아니기 때문에 실제로 중복되는 것은 아니지만 다양한 구문 트릭을 사용할 수 있습니다. 그 사실을 시력에서 알아 차려라. (나를 피신 한 사실은 버전 2의 진술이고 버전 3의 기능이다.)

많은 샘플 코드에는시 뱅 (shebang)이 포함되지 않으며 많은 GUI 프로그램은 인쇄 지시를 사용하지 않습니다. 그 중 일부는 코드에 나타나지 않을 수도 있기 때문에 둘 이상을 찾고 있습니다.

+0

주관적인 종류의 종류 일지 모르지만 인쇄 문이 어떻게 포맷되어 있는지 살펴 보겠습니다. – Phil

+0

더 많은 공통점과 버전간에 차이점이 있기 때문에 동일한 프로그램이 모든 Python 버전에서 실행될 수 있습니다. 따라서 원하는 버전으로 프로그램을 실행하면 직접 대답을 얻을 수 있습니다. –

+0

새끼를 찾으십시오. 또는 코멘트. 또는 그것을 쓴 사람. – khelwood

답변

1

이상적으로 파이썬 스크립트는 첫 번째 줄에 : #!/usr/bin python과 같은 셰 배너 (shebang) 및/또는 작업 할 최소, 최대 (가능하면 최대) 버전을 나타내는 주석을 포함하는 것이 이상적입니다.

다른 단서 : 물론

print Something # Python 2 Only 
print(Something) # Python 3 Mostly 

from __future__ import print_function # As first active code 

print(Something) # Now works for both 

잘 작성된 코드 중 하나를 많은 버전과 호환되지 또는 특별히 필요한 버전 확인합니다.

라이브러리가 누락 된 경우 오류 메시지는 분명하지만 대부분의 경우 파이썬 코드는 "그냥 실행"되는 경향이 있습니다. 실제 해결책은 버전 의 파이썬으로 코드를 시도하는 것입니다. 손.

+1

나는 또한'sys를 확인하는 라이브러리를 보았다.version_info'를 호출하고 잘못된 Python 버전이 사용 된 경우 (보통'__init __. py'에서)'RuntimeError'를 발생시킵니다. –

+1

좋은 지적이지만 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@? –

0

당신은 공식 문서에서 참조 할 수 있습니다 : Python Docs

난 당신이 코드의 조각을 시도 할 수 파이썬 3.x를을위한 IDE를 가지고 있다고 가정하고있다.
스티브 (Steve)가 말한 것처럼, 파이썬 (x)의 print 함수를 사용하여 구별 할 수 있습니다. (위 같은) 인쇄 문은 코드가있는 경우

print "hello world" 

그래서, 당신은 얻을 것이다 :

SyntaxError: Missing parentheses in call to 'print'. 

따라서, 코드의 조각 2.x는 파이썬 위해이었다.

+0

예, python 2의 print 문과 python 3의 print 함수의 차이점이 나를 피했습니다. 그러나 "왜 작은 프로그램"또는 "샘플 코드"를 지정했는지, 왜 그들이 지시 또는 인쇄 지시 (특히 GUI 코드의 경우)가 필요하지 않을 수 있습니다. – Camion

+0

print() 구문을 추가하고 실행하십시오. ? – BoRRis

+0

공식 문서를 살펴볼 수 있습니다 – BoRRis