将Fortran名称列表解析为Python字典并返回。
namelist的Python项目详细描述
py名称列表
将Fortran名称列表解析为dict-like对象并返回
下载
要获取最新版本,请执行
git clone https://git.geomar.de:martin-claus/py-namelist.git --branch v0.1.0 --depth=1
或者,如果您喜欢最新的不稳定版本
git clone https://git.geomar.de:martin-claus/py-namelist.git
用法
要解析名称列表文件,可以调用parse_namelist_file(fobj)
,其中fobj是一个类似文件的对象,提供read()
和seek()
方法
(通常是标准的python文件对象)。或者,可以使用parse_namelist_string(str)
解析字符串。
importnamelistwithopen(your_nml_file)asfobj:nmls=namelist.parse_namelist_file(fobj)
nmls
将是Namelist
类的实例列表。
Namelist
是OrderedDict
(如果使用python<;2.7,则为dict
)的一个子类。
一个Namelist
实例nml
用一个名称初始化,并可选地用初始值初始化。
nml=Namelist("param",(("key1",val1),...))
name属性将设置nml
的只读属性名。要更改、添加或删除值
可用的方法与dict
相同。
printnml.namenml.update({"eggs":1,"spam":[1,2,3]})del(nml["param"])
要创建Namelist
实例的Fortran可读字符串表示,只需使用str()
内置
s=str(nml)
或者只是
print(nml)
可以由eval()
用来创建实例副本的Namelist
实例的字符串表示可以由repr()
printrepr(nml)
注意:名称列表的解析不必严格遵循Fortran标准。因此,某些Fortran版本完全接受的某些名称列表不能保证由parse_namelist_string()
正确解析。始终检查Namelist
对象的内容。如果您确实找到一个不起作用的名称列表,请在https://git.geomar.de/martin-claus/py-namelist/与不起作用的名称列表一起创建一个问题。