# HG changeset patch # User Jeff Hammel # Date 1392249632 28800 # Node ID e92bd004b90600950339f2f5458c74ddc15c9646 # Parent b0144a39086de6f0adc168400c25b185645b3195 STUB: .emacs python/example/func_args.py diff -r b0144a39086d -r e92bd004b906 .emacs --- a/.emacs Wed Feb 12 14:27:12 2014 -0800 +++ b/.emacs Wed Feb 12 16:00:32 2014 -0800 @@ -164,7 +164,7 @@ def main(args=sys.argv[1:]): - parser = argparse.ArgumentParser(usage=usage, description=__doc__) + parser = argparse.ArgumentParser(description=__doc__) parser.add_option('input', nargs='?', type=argparse.FileType('r'), default=sys.stdin, help='input file, or read from stdin if ommitted') diff -r b0144a39086d -r e92bd004b906 python/example/func_args.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python/example/func_args.py Wed Feb 12 16:00:32 2014 -0800 @@ -0,0 +1,31 @@ +#!/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()