#projectname
from projectname.source import foo
# Import about 10 more functions
def main():
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers()
parser_foo = subparsers.add_parser('foo', help="Help")
parser_foo.add_argument("--bar", nargs="+", help='bar help')
parser_foo.set_defaults(func=foo)
# More subparsers for the other funtions
args = parser.parse_args()
args.func(args)
if __name__ == "__main__":
main()
#foo.py
def foo(args):
print args
用法:项目名称foo [--bar]
两个问题:
__main__.py
文件运行命令行脚本,但是,由于我使用的类似git的样式要求我在开头写文件名,所以我不知道如何从projectname
运行脚本时访问__main__.py
。如何在命令行中将第一个参数设为projectname
?projectname
。 我可以针对每个功能执行此操作
#foo.py
def foo(args):
print args
if __name__ == "__main__":
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers()
parser_foo = subparsers.add_parser('foo', help="Help")
parser_add.add_argument("--bar", nargs="+", help='bar help')
parser_foo.set_defaults(func=foo)
args = parser.parse_args()
args.func(args)
但这意味着为每个功能重复每个部分。我很困在这里!