Note

This documents the development version of NetworkX. Documentation for the current release can be found here.

networkx.utils.decorators.open_file

open_file(path_arg, mode='r')[source]

Decorator to ensure clean opening and closing of files.

Parameters
  • path_arg (int) – Location of the path argument in args. Even if the argument is a named positional argument (with a default value), you must specify its index as a positional argument.

  • mode (str) – String for opening mode.

Returns

_open_file – Function which cleanly executes the io.

Return type

function

Examples

Decorate functions like this:

@open_file(0,'r')
def read_function(pathname):
    pass

@open_file(1,'w')
def write_function(G,pathname):
    pass

@open_file(1,'w')
def write_function(G, pathname='graph.dot')
    pass

@open_file('path', 'w+')
def another_function(arg, **kwargs):
    path = kwargs['path']
    pass