当前位置: 首页 > 面试题库 >

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

梁丘权
2023-03-14
问题内容

我在需要运行此python脚本的地方gdal_retile.py,但在此行上出现异常:

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

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

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

我认为问题的根本原因是这些导入失败,因此必须包含此导入 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.xprint中,它是一个实际函数,因此它也带有关键字参数。

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中不起作用。



 类似资料:
  • 我尝试使用pandas DataFrame的pivot_table方法; 但是,我收到以下错误: 上述命令摘自Wes McKinney(pandas的创建者)的《Python用于数据分析》一书

  • 运行以下代码会导致此错误: TypeError:init()获得意外的关键字参数“help” 为什么会发生这种错误?

  • 问题内容: 我是Python的新手,我正在尝试制作一个哈希表,该哈希表检查键是否指向表中的值,如果不是,则将其初始化为空数组。我的代码中令人反感的部分是这一行: 我得到错误: 但是在文档(以及各种示例代码)中,我可以看到它确实采用了默认参数: https://docs.python.org/2/library/stdtypes.html#dict.get http://www.tutorialsp

  • 我使用select.select()代替输入,因为我想要输入超时。我在print()函数中使用end参数,因为我希望我的终端有这样一行: 类型 相反,我没有看到“类型” 我的代码: 我正在使用此脚本测试select.select()并打印(str,end=“”)。我阅读了这篇文章(如何在打印语句后抑制换行?)和这两个命令的官方Python3文档。

  • 我有wiev功能: 装饰: "index"函数正常工作,但"细节"向下错误: TypeError:包装器()获得意外的关键字参数“id” P.S.id参数在url模式中

  • 我试图用Python的Pymoo库设置我的优化,我使用他们的“入门”指南,但传递我自己的独立变量,也不使用约束。我使用指南中的示例函数得到了相同的结果(我在下面的代码中注释了它们)。 代码如下: 当我打印出问题类中_evaluate_elementwise方法中的kwargs时,我确实得到了它是算法对象: {'算法': 我很难理解它是如何将algorithm对象作为_evalute的参数的,它接受