Mercurial > hg > config
changeset 625:e92bd004b906
STUB: .emacs python/example/func_args.py
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Wed, 12 Feb 2014 16:00:32 -0800 |
parents | b0144a39086d |
children | 89a72399286b |
files | .emacs python/example/func_args.py |
diffstat | 2 files changed, 32 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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')
--- /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()