view python/example/func_args.py @ 694:ebca6d85213a

File "/usr/lib/python3/dist-packages/IPython/config/__init__.py", line 16, in <module> from .application import * File "/usr/lib/python3/dist-packages/IPython/config/application.py", line 31, in <module> from IPython.config.configurable import SingletonConfigurable File "/usr/lib/python3/dist-packages/IPython/config/configurable.py", line 33, in <module> from IPython.utils.text import indent, wrap_paragraphs File "/usr/lib/python3/dist-packages/IPython/utils/text.py", line 28, in <module> from IPython.external.path import path File "/usr/lib/python3/dist-packages/IPython/external/path/__init__.py", line 2, in <module> from path import * File "/home/jhammel/python/path.py", line 25 print root(path) ^
author Jeff Hammel <k0scist@gmail.com>
date Wed, 09 Jul 2014 16:26:49 -0700
parents e92bd004b906
children
line wrap: on
line source

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
get args of your own function

http://stackoverflow.com/questions/582056/getting-list-of-parameter-names-inside-python-function
"""

import argparse
import inspect
import os
import subprocess
import sys

def foo(bar=None, fleem=None, blah=None):
    frame = inspect.currentframe()
    args, _, _, values = inspect.getargvalues(frame)
    print 'function name "%s"' % inspect.getframeinfo(frame)[2]
    for i in args:
        print "    %s = %s" % (i, values[i])
    return [(i, values[i]) for i in args]

def main(args=sys.argv[1:]):

    parser = argparse.ArgumentParser()
    options = parser.parse_args(args)
    foo(1, 2, 3)

if __name__ == '__main__':
    main()