Metadata-Version: 2.4
Name: openfile
Version: 0.0.7
Summary: A convenience function that delegates to the appropriate standard library function.
Home-page: https://github.com/luismsgomes/openfile
Author: Luís Gomes
Author-email: luismsgomes@gmail.com
License: MIT
Keywords: convenience
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.5
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: summary

==========
 openfile
==========

``openfile`` is a trivial Python module that implements a single convenience
function ``openfile(filename, mode="rt", **kwargs)`` wich delegates the real
work to one of the following standard library functions:

- ``gzip.open(filename, mode, **kwargs)`` if the file ends with suffix ``.gz``;
- ``bz2.open(filename, mode, **kwargs)`` if the file ends with suffix ``.bz2``;
- ``lzma.open(filename, mode, **kwargs)`` if the file ends with suffix ``.xz`` or ``.lzma``;
- ``open(filename, mode, **kwargs)`` if the file does not end with any suffix mentioned above.

If the ``filename`` is a single dash ``-`` then ``sys.stdin`` or ``sys.stdout``
is returned, depending on ``mode`` being ``r`` or ``w``, respectively.

The following keyword arguments are used by openfile:

- ``expanduser=True`` will cause openfile to call ``os.path.expanduser`` for ``filename``.
- ``expandvars=True`` will cause openfile to call ``os.path.expandvars`` for ``filename``.
- ``makedirs=True`` will cause openfile to call ``os.makedirs`` for the parent directory ``os.path.dirname(filename)`` if it does not exist and ``mode`` contains either ``"w"`` or ``"a"``.

All other keyword arguments passed to openfile will be passed down to the open functions listed above.
