Python 为什么gdal.translate不接受第三个参数?
根据文档,gdal.Translate应该接受三个参数。下面的代码段直接从定义文件gdal.py复制Python 为什么gdal.translate不接受第三个参数?,python,gdal,Python,Gdal,根据文档,gdal.Translate应该接受三个参数。下面的代码段直接从定义文件gdal.py复制 def Translate(destName, srcDS, **kwargs): 我的函数调用如下所示: gdal.Translate(tileName, rasterfile, options) 我的IDE(VScode)立即注意到有东西关闭了,并告诉我给出的参数太多了。运行该代码会导致以下错误消息: 回溯(最近一次调用上次):文件 “c:/Users/parejo/Desktop/
def Translate(destName, srcDS, **kwargs):
我的函数调用如下所示:
gdal.Translate(tileName, rasterfile, options)
我的IDE(VScode)立即注意到有东西关闭了,并告诉我给出的参数太多了。运行该代码会导致以下错误消息:
回溯(最近一次调用上次):文件
“c:/Users/parejo/Desktop/tile_gen.py”,第24行,在
Translate(tileName、rasterfile、options)类型错误:Translate()接受2个位置参数,但给出了3个
我错过了什么
代码本身很好,如果我删除options
参数,一切都会顺利运行,但由于缺少选项,我无法得到想要的结果。尝试使用此参数调用(未测试代码)
def Translate(destName,srcDS,**kwargs):
表示函数接受可变数量的,它可以随意解释的
如果你有口述,例如
options={“某物”:true}
或更动态生成的内容,如果希望传入,则可以在调用函数时使用相同的**
语法将其解压缩为关键字参数:
gdal.Translate(tileName、rasterfile、**选项)
当您不需要动态调整关键字参数时,只需将它们传入就更具python风格:
gdal.Translate(tileName,rasterfile,something=True)
类似的方法应该可以:
options = {
'destName': tileName,
'srcDS': rasterfile,
# kwargs options
}
gdal.Translate(**options)
这几乎是对的,我这样调用:``gdal.Translate(tileName,rasterfile,**options)``使调用工作,现在它崩溃了,因为我的选项格式错误,但是关于调用本身,现在一切都正常了。
options = {
'destName': tileName,
'srcDS': rasterfile,
# kwargs options
}
gdal.Translate(**options)