gpt4 book ai didi

python - 使用关键字参数 end =' ' 获取用于打印的 SyntaxError

转载 作者:IT老高 更新时间:2023-10-28 21:06:55 26 4
gpt4 key购买 nike

我有这个 python 脚本,我需要在其中运行 gdal_retile.py,但我在这一行得到了一个异常(exception):

if Verbose:
print("Building internam Index for %d tile(s) ..." % len(inputTiles), end=' ')

end=' ' 语法无效。我很好奇为什么,以及作者可能打算做什么。

如果您还没有猜到,我是 python 新手。


我认为问题的根本原因是这些导入失败因此必须包含这个 import 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 吗?该语法在 Python 2.x 中不可用,因为 print 仍然是一个语句。

print("foo" % bar, end=" ")

在 Python 2.x 中等同于

print ("foo" % bar, end=" ")

print "foo" % bar, end=" "

即作为使用元组作为参数的打印调用。

这显然是不好的语法(文字不接受关键字参数)。在 Python 3.x 中,print 是一个实际函数,因此它也需要关键字参数。

Python 2.x 中 end="" 的正确用法是:

print "foo" % bar,

(注意最后的逗号,这使它以空格而不是换行符结束行)

如果您想更好地控制输出,请考虑直接使用 sys.stdout。这不会对输出产生任何特殊的影响。

当然,在最近的 Python 2.x 版本中(2.5 应该有,2.4 不确定),您可以使用 __future__ 模块在脚本文件中启用它:

from __future__ import print_function

unicode_literals 和其他一些好东西(例如,with_statement)也是如此。不过,这不适用于 Python 2.x 的真正旧版本(即在引入该功能之前创建)。

关于python - 使用关键字参数 end =' ' 获取用于打印的 SyntaxError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2456148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com