view python/example/func_args.py @ 842:03f9657514e9

while we might not want Octave *that* much, we will never want OCAML
author Jeff Hammel <k0scist@gmail.com>
date Sun, 09 Jul 2017 15:01:16 -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()