키워드 인수 end= ' ' '로 인쇄할 때 구문 오류가 발생합니다.
를 해야 하는 .gdal_retile.py
는
if Verbose:
print("Building internam Index for %d tile(s) ..." % len(inputTiles), end=' ')
end=' '
는 잘못된 구문입니다.그 이유와 저자가 의도한 바가 무엇인지 궁금합니다.
아직 짐작하지 못하셨다면 저는 파이썬을 처음 접합니다.
은 이 하고 있기 이 합니다를 합니다.from __future__ import print_function
try:
from osgeo import gdal
from osgeo import ogr
from osgeo import osr
from osgeo.gdalconst import *
except:
import gdal
import ogr
import osr
from gdalconst import *
Python 3.x를 사용하는 것이 확실합니까? 2는 Python 2.x다이기 할 수 print
여전히 진술입니다.
print("foo" % bar, end=" ")
Python 2.x는 다음과 같습니다.
print ("foo" % bar, end=" ")
아니면
print "foo" % bar, end=" "
예를 들어 튜플을 인수로 인쇄하라는 요청입니다.
그것은 분명히 나쁜 구문입니다. (문학은 키워드 인수를 받지 않습니다.) Python 3.print
는 실제 함수이므로 키워드 인수도 필요합니다.
Python 2.x 의.end=" "
다음과 같습니다.
print "foo" % bar,
(마지막 쉼표를 참고하면 줄 바꿈이 아닌 공백으로 줄을 끝냅니다.)
을 더 하려면 합니다를 하는 것이 sys.stdout
직접적으로. 이 걸리지 이렇게 하면 출력에 특별한 마법이 걸리지 않습니다.
2 2 2.x(2., 2.에) 에서는를 할 수 .__future__
스크립트 파일에서 활성화하는 모듈:
from __future__ import print_function
입니다도 입니다.unicode_literals
다른 들()with_statement
를 들어,).그러나 이것은 파이썬 2.x의 (기능이 도입되기 전에 만들어진) 실제 오래된 버전에서는 작동하지 않습니다.
이거 어때:
#Only for use in Python 2.6.0a2 and later
from __future__ import print_function
를 통해 3.0 를 할 수 .print
모든합니다 을 수동으로 합니다.print
:)
python 2.7에서는 다음과 같이 합니다.
mantra = 'Always look on the bright side of life'
for c in mantra: print c,
#output
A l w a y s l o o k o n t h e b r i g h t s i d e o f l i f e
python 3.x에서
myjob= 'hacker'
for c in myjob: print (c, end=' ')
#output
h a c k e r
우선 처음에 인용문이 누락되었지만 아마 복사/붙여넣기 오류일 것입니다.
3.xend=' '
part합니다 합니다.Python 2.x에서도 같은 작업을 하려면 끝에 쉼표를 넣어야 합니다.
print "Building internam Index for %d tile(s) ..." % len(inputTiles),
그는 파이썬 3.0을 사용하고 있고 당신은 파이썬 2.6을 사용하고 있는 것 같습니다.
이건 그냥 버전일 뿐입니다.Python 3.x 이후로 인쇄물은 실제로 함수이기 때문에 이제 일반 함수처럼 인수를 사용합니다.
end=' '
문장의 끝 뒤에 새 줄 문자 대신 공백을 원한다는 의미입니다.Python 2.x에서는 인쇄문 끝에 쉼표를 붙여 이 작업을 수행해야 합니다.
예를 들어, Python 3.x 환경에 있는 경우:
while i<5:
print(i)
i=i+1
다음과 같은 출력을 제공합니다.
0
1
2
3
4
위치:
while i<5:
print(i, end = ' ')
i=i+1
출력으로 제공:
0 1 2 3 4
첫 번째 인용구를 놓치신 것 같네요.시도:
if Verbose:
print("Building internam Index for %d tile(s) ..." % len(inputTiles), end=' ')
Python 2 및 3과 모두 호환 가능:
sys.stdout.write('mytext')
Python 2와만 호환 가능
print 'mytext',
Python 3에서만 호환 가능
print('mytext', end='')
저자의 뜻은 아마 다음과 같습니다.
if Verbose:
print("Building internam Index for %d tile(s) ..." % len(inputTiles), end=' ')
print(
.
참고로 파이썬 3.0을 기준으로,print
이와 동등한 이며,다입니다.
print "Building internam Index for %d tile(s) ..." % len(inputTiles)
end
합니다가 합니다.' '
새로운 대사의 캐릭터보다는 마지막에.이전 버전의 파이썬에서는 다음과 같습니다.
print "Building internam Index for %d tile(s) ..." % len(inputTiles),
(고맙습니다 이그나시오)
사용 ::
제 드라이브에 python2.7과 python3 두 가지 버전의 python이 설치되어 있어서 그런 오류가 있었습니다. 다음은 제 코드였습니다.
#!usr/bin/python
f = open('lines.txt')
for line in f.readlines():
print(line,end ='')
python lines.py
했습니다 했습니다.
#!usr/bin/python
f = open('lines.txt')
for line in f.readlines():
print(line,end ='')
로 실행할 python3 lines.py
으로 실행했습니다.
python 2.7의 경우 동일한 문제가 있었습니다. 이 문제를 해결하기 위해 인용문 없이 "from __future__import print_function"을 사용하십시오.이를 통해 Python 2.6 이상의 Python 2.x는 Python 3.x 인쇄 기능을 사용할 수 있습니다.
python 2.7로 작업하는 경우 다음을 사용해 보십시오.
from __future__ import print_function
기본적으로 python 2.7에서 발생합니다. 작동 방식에 대한 제 코드는 다음과 같습니다.
i=5
while(i):
print i,
i=i-1
Output:
5 4 3 2 1
버전 2.7.15를 사용하기 때문에 오류가 발생했지만 end="는 버전 3에서만 작동합니다.
예:
import array as arr
a=arr.array('i',[1,2,3,4])
for x in range(0,3):
print ("%d" % a[x], end=' ')
출력 : 버전 2.7을 사용하는 오류 "Invalid Syntax" 표시
버전 2.7.15의 경우 이 구문을 사용합니다.
import array as arr
a=arr.array('i',[1,2,3,4])
for x in range(0,3):
print ("%d" % a[x]),
출력 : 1 2 3
저조차도 오늘 같은 오류를 겪고 있었습니다.그리고 재미있는 일을 경험했습니다.python 3.x를 사용하고 있지만 여전히 오류가 발생하는 경우 다음과 같은 이유가 있을 수 있습니다.
동일한 드라이브에 여러 개의 python 버전이 설치되어 있습니다.그리고 f5 버튼을 누르면 파이썬 셸 창(ver. < 3.x)이 뜹니다.
저는 오늘도 같은 오류를 겪고 있었는데, 그것을 알아차렸습니다.저를 믿으세요. 적절한 셸 창(버전 3.x)에서 코드를 실행하면 만족스러운 결과가 나왔습니다.
를 .end=''
입니다.
from __future__ import print_function
그것은 지금 완벽하게 작동할 것입니다.
나중에 참고로 (이미 다른 시간에 두 번 왔음), 만약 당신이 확인하고 당신이 python 3.x 또는 그 이후에 있음이 분명한데 'end=' 구문이 틀리다는 오류가 발생하는 것입니다. 파일을 실행하려고만 하는 것이 아니라 python 스크립트를 실제로 실행하고 있는지 확인하십시오.저는 순간적으로 이 일을 해보았는데 뭔가 몹시 잘못되었다고 생각하고 있다가 제가 바로 그 일을 하고 있다는 것을 알게 되었습니다.
python "scriptName.py"
아니면
python3 "scriptName.py"
언급URL : https://stackoverflow.com/questions/2456148/getting-syntaxerror-for-print-with-keyword-argument-end
'programing' 카테고리의 다른 글
jQuery 페이드 디스플레이 없이 꺼집니까? (0) | 2023.10.04 |
---|---|
파이썬에서 for 루프에서 리스트 요소를 제거하는 방법? (0) | 2023.10.04 |
BTREE의 장점? (0) | 2023.09.24 |
하루 중에 얻는 시간과 동등한 속도로 더 빠른 속도 (0) | 2023.09.24 |
powershell: 문자열에서 모든 regex 문자를 탈출하는 방법 (0) | 2023.09.24 |