diff python/example/func_args.py @ 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
children
line wrap: on
line diff
--- /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()