Python 2.7 使用命令行和其他脚本中的argparse参数 #项目名称 从projectname.source导入foo #再导入大约10个函数 def main(): parser=argparse.ArgumentParser() subparsers=parser.add_subparsers() parser\u foo=子parser。添加\u parser('foo',help=“help”) 解析器\u foo.add_参数(“--bar”,nargs=“+”,help='bar help') 解析器\u foo.set\u默认值(func=foo) #其他职能部门有更多的下属 args=parser.parse_args() args.func(args) 如果名称=“\uuuuu main\uuuuuuuu”: main() #福比 def foo(参数): 打印参数
用法:projectname foo[--bar] 两个问题:Python 2.7 使用命令行和其他脚本中的argparse参数 #项目名称 从projectname.source导入foo #再导入大约10个函数 def main(): parser=argparse.ArgumentParser() subparsers=parser.add_subparsers() parser\u foo=子parser。添加\u parser('foo',help=“help”) 解析器\u foo.add_参数(“--bar”,nargs=“+”,help='bar help') 解析器\u foo.set\u默认值(func=foo) #其他职能部门有更多的下属 args=parser.parse_args() args.func(args) 如果名称=“\uuuuu main\uuuuuuuu”: main() #福比 def foo(参数): 打印参数,python-2.7,argparse,Python 2.7,Argparse,用法:projectname foo[--bar] 两个问题: 我知道命令行脚本应该从\uuuu main\uuuuuuuuuuy.py文件运行,但是,由于我使用的类似git的样式要求我在开始时写入文件名,所以当脚本从\uuuuuu main\uuuuuuuuupy运行时,我不知道如何访问projectname。如何将命令行中的第一个参数设置为projectname 我需要直接从命令行运行脚本,还需要从另一个脚本内部调用这些函数。在这种情况下,我可以在开始时使用projectname 我可以为每
\uuuu main\uuuuuuuuuuy.py
文件运行,但是,由于我使用的类似git的样式要求我在开始时写入文件名,所以当脚本从\uuuuuu main\uuuuuuuuupy
运行时,我不知道如何访问projectname
。如何将命令行中的第一个参数设置为projectname
projectname
李>
我可以为每个功能执行以下操作:
#foo.py
def foo(参数):
打印参数
如果名称=“\uuuuu main\uuuuuuuu”:
parser=argparse.ArgumentParser()
subparsers=parser.add_subparsers()
parser\u foo=子parser。添加\u parser('foo',help=“help”)
语法分析器添加。添加参数(“--bar”,nargs=“+”,help='bar help')
解析器\u foo.set\u默认值(func=foo)
args=parser.parse_args()
args.func(args)
但这意味着为每个函数重复每个部分。我被困在这里了 “从另一个脚本调用函数”是指从其他python函数调用python函数吗?如果是这样,为什么还要使用argparse呢?直接传递参数。@FlorianWinter我需要主要从另一个脚本使用函数
foo
。我使用argparse的原因是,我还需要能够从命令行直接调用它们。