Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gmolveau
GitHub Repository: gmolveau/python_full_course
Path: blob/master/examples/cli/argparse_sub.py
305 views
1
import argparse
2
3
4
def cli():
5
parser = argparse.ArgumentParser(description="a git cli example")
6
base_parser = argparse.ArgumentParser(add_help=False)
7
base_parser.add_argument(
8
"-v",
9
"--verbose",
10
help="Common top-level parameter",
11
action="store_true",
12
required=False,
13
)
14
subparsers = parser.add_subparsers(dest="command")
15
# clone command
16
clone_parser = subparsers.add_parser(
17
"clone", description="clone command", help="clone a repo", parents=[base_parser]
18
)
19
clone_parser.add_argument("url", help="repo url")
20
# commit command
21
commit_parser = subparsers.add_parser(
22
"commit", description="commit command", help="commit files", parents=[base_parser]
23
)
24
commit_parser.add_argument("-m", help="commit message")
25
args = parser.parse_args()
26
return args
27
28
def main():
29
args = cli()
30
print(args)
31
print(f"la commande lancée est {args.command}")
32
33
if __name__ == "__main__":
34
main()
35
36