Mercurial > hg > config
annotate python/example/func_args.py @ 928:84543f2cda0d
restore my real email that companies keep making me change
| author | Jeff Hammel <k0scist@gmail.com> | 
|---|---|
| date | Tue, 14 Oct 2025 14:20:55 -0700 | 
| parents | e92bd004b906 | 
| children | 
| rev | line source | 
|---|---|
| 
625
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
1 #!/usr/bin/env python | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
2 # -*- coding: utf-8 -*- | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
3 | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
4 """ | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
5 get args of your own function | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
6 | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
7 http://stackoverflow.com/questions/582056/getting-list-of-parameter-names-inside-python-function | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
8 """ | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
9 | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
10 import argparse | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
11 import inspect | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
12 import os | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
13 import subprocess | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
14 import sys | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
15 | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
16 def foo(bar=None, fleem=None, blah=None): | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
17 frame = inspect.currentframe() | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
18 args, _, _, values = inspect.getargvalues(frame) | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
19 print 'function name "%s"' % inspect.getframeinfo(frame)[2] | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
20 for i in args: | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
21 print " %s = %s" % (i, values[i]) | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
22 return [(i, values[i]) for i in args] | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
23 | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
24 def main(args=sys.argv[1:]): | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
25 | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
26 parser = argparse.ArgumentParser() | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
27 options = parser.parse_args(args) | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
28 foo(1, 2, 3) | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
29 | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
30 if __name__ == '__main__': | 
| 
 
e92bd004b906
STUB: .emacs python/example/func_args.py
 
Jeff Hammel <k0scist@gmail.com> 
parents:  
diff
changeset
 | 
31 main() | 
