반응형
__future__ import print_function을 사용하면 왜 Python2 스타일 인쇄가 중단됩니까? [닫은]
파이썬으로 프로그래밍하는 데 익숙하지 않으며 구분 기호와 끝으로 인쇄하려고하지만 여전히 구문 오류가 발생합니다.
파이썬 2.7을 사용하고 있습니다.
내 코드는 다음과 같습니다.
from __future__ import print_function
import sys, os, time
for x in range(0,10):
print x, sep=' ', end=''
time.sleep(1)
그리고 여기 오류가 있습니다 :
$ python2 xy.py
File "xy.py", line 5
print x, sep=' ', end=''
^
SyntaxError: invalid syntax
$
우선, from __future__ import print_function
스크립트의 첫 번째 코드 행이어야합니다 (아래에 언급 된 일부 예외는 제외). 둘째, 다른 답변에서 말했듯이 print
지금 함수 로 사용해야 합니다. 그게 요점입니다 from __future__ import print_function
. print
함수 를 Python 3에서 Python 2.6 이상으로 가져옵니다 .
from __future__ import print_function
import sys, os, time
for x in range(0,10):
print(x, sep=' ', end='') # No need for sep here, but okay :)
time.sleep(1)
__future__
명령문은 언어에 대한 기본 사항을 변경하기 때문에 파일의 맨 위에 있어야하므로 컴파일러는 처음부터 명령문에 대해 알아야합니다. 에서 문서 :
미래의 진술은 컴파일 타임에 특별히 인식되고 처리됩니다. 핵심 구문의 의미에 대한 변경은 종종 다른 코드를 생성하여 구현됩니다. 새로운 기능이 호환되지 않는 새로운 구문 (예 : 새로운 예약어)을 도입하는 경우도있을 수 있으며,이 경우 컴파일러가 모듈을 다르게 구문 분석해야 할 수도 있습니다. 이러한 결정은 런타임까지 푸시 될 수 없습니다.
문서는 또한 __future__
명령문 앞에 올 수있는 유일한 것은 모듈 docstring, 주석, 빈 줄 및 기타 미래의 명령문이라고 언급합니다.
반응형
'programing tip' 카테고리의 다른 글
모든 파이썬 클래스가 객체를 확장해야합니까? (0) | 2020.07.17 |
---|---|
클래스 이름으로 DOM 요소 가져 오기 (0) | 2020.07.17 |
String []을 ArrayList로 변환하는 방법 (0) | 2020.07.16 |
Android에서 HTTP GET 요청에 매개 변수를 추가하는 방법은 무엇입니까? (0) | 2020.07.16 |
클립으로 URL에서 이미지 저장 (0) | 2020.07.16 |