FORTRAN format interpreter for Python
Generates text from a Python list of variables or will read a line of text into Python variables according to the FORTRAN format statement passed.
Licensed under the MIT license
The library is extensively unit-tested (but not yet extensively user-tested, please report bugs at https://bitbucket.org/brendanarnold/py-fortranformat/issues) against the Intel FORTRAN compiler on a Linux platform. Differences between platforms/compilers are generally minor.
The following is a quistart, full docs are found at the project page wiki at https://bitbucket.org/brendanarnold/py-fortranformat/wiki/Home
To read Fortran records,
>>> import fortranformat as ff >>> header_line = FortranRecordReader('(A15, A15, A15)') >>> header_line.read(' x y z') [' x', ' y', ' z'] >>> line = FortranRecordReader('(3F15.3)') >>> line.read(' 1.000 0.000 0.500') [1.0, 0.0, 0.5] >>> line.read(' 1.100 0.100 0.600') [1.1, 0.1, 0.6] >>>
To write Fortran records,
>>> import fortranformat as ff >>> header_line = FortranRecordWriter('(A15, A15, A15)') >>> header_line.write(['x', 'y', 'z']) ' x y z' >>> line = FortranRecordWriter('(3F15.3)') >>> line.write([1.0, 0.0, 0.5]) ' 1.000 0.000 0.500' >>> line.write([1.1, 0.1, 0.6]) ' 1.100 0.100 0.600'
More details on usage, in particlar the configuration options are found at,
- At present the library mimics the IO of the Intel FORTRAN compiler v.9.1 run on a Linux system. Differences to other FORTRAN compilers and platforms are generally minor.
- The library should run on Python versions from at least 2.3 up to 3 and above.
Although the library has a large body of automatically generated test code behind it, it has not been extensively user tested. Bug reports are welcome!
Please report bugs to,
- Version 0.2.3
- Fixed issue 10 - Edit descriptor reversion now starts a new record