我经常编写ad-hoc python脚本,我想:1)运行脚本(可能通过双击它)并提示输入一个命令来执行文件中的特定块oc代码。 docstring将包含说明。 2)通过命令行参数传递命令。
我想确保我没有遗漏任何东西,因为我很重复这段代码。这样做有更简洁的方式吗?我知道argparse和pocoo' click。但我并不是在寻找更灵活的东西,而是尽可能简单(我很高兴它大约2-3行)。
"""
hello world
"""
import sys
if len(sys.argv) < 2: print sys.modules[__name__].__doc__.strip()
cmd1 = sys.argv[1] if len(sys.argv) == 2 else raw_input('>')
# snippets and functions below this line
if cmd1 == 'test':
pass
答案 0 :(得分:1)
if len(sys.argv) < 2: print sys.modules[__name__].__doc__.strip()
cmd1 = sys.argv[1] if len(sys.argv) == 2 else raw_input('>')
def cmd_test():
print "Run CMD test"
def cmd_something():
print "run cmd somrthing"
try:
globals()["cmd_%s"%cmd1]()
except KeyError:
print "ERROR Unknown Command"
我喜欢这样做...只是名字&#34;命令&#34;功能在某种程度上你可以将它们从全球空间中取出
你可以改进它以允许传递参数和东西