Fortran 90 namelist parser
Project description
A Fortran 90 namelist parser
About f90nml
The f90nml module takes a Fortran 90 namelist file and parses it into a Python dict of namelist groups, each containing a dict of its variables. Fortran data types are converted to equivalent Python types.
Usage
To read a Fortran namelist file as a dict, use the read() method:
nml_dict = f90nml.read(nml_filename)
To output a Python dict as a Fortran namelist file, use the write() method:
f90nml.write(my_nml, output_filename)
This method will abort if the output file already exists.
Notes
The read method produces an NmlDict, which behaves as a dict with case-insensitive keys, due to the case insensitivity of Fortran. This implementation is currently not a true case-insensitive dict, and is only intended to accomodate individual references and assignments.
The following namelist features are currently not supported:
Implicit vector assignment (v(i:j) = c)
Multidimensional vector assignment (v(:,:) = 1, 2, 3, 4)
Repeated indexing (v = r*c, r*)
Upcast vector elements if components differ (x(i) = 1, x(j) = 2.0)
Escape on repeated quotes ('This doesn''t parse correctly')
Type character resolver (x%y = c)
stdin/stdout support (?, ?=)
Licensing
f90nml is distributed under the Apache 2.0 License.
Contact
Marshall Ward <python@marshallward.org>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.