Python 为什么gdal.translate不接受第三个参数?

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/

根据文档,gdal.Translate应该接受三个参数。下面的代码段直接从定义文件gdal.py复制

 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)