使用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)