使用 netCDF4 中的参数分配全局属性名称

Assigning global attribute name using a parameter in netCDF4

在不久的将来,我会经常需要将一些数据转换成netcdf格式。我有一长串需要分配给数据集的全局属性。例如,要将全局属性 title 分配给数据集 ds,我可以这样做

ds.title = 'my_title'

但是,我希望我的代码可以重用,并且我的全局属性列表会因数据集而异。因此,我希望能够使用变量提供全局属性的名称(上例中的 title),例如

var = title

ds.var = 'my_title'

但是,上面的示例会创建一个名为 'var' 的全局属性,这不是我想要的。有可能做这样的事情吗?

更具体地说,我将创建一个字典,其中键是全局属性名称,项目是要存储的内容。

非常感谢您的帮助。

你想要的是setattr根据字符串设置属性:

my_attrs = dict(title='my_title', author='me')
for name, value in my_attrs.items():
    setattr(ds, name, value)