ArgParse - Nested Commands

Building Command Line Tools with Python, Julia and Nodejs Module 02 - Building Command Line Tools in Python with ArgParse
10 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€67.35
List Price:  €96.21
You save:  €28.86
£55.83
List Price:  £79.77
You save:  £23.93
CA$100.76
List Price:  CA$143.95
You save:  CA$43.19
A$112.23
List Price:  A$160.33
You save:  A$48.10
S$95.14
List Price:  S$135.93
You save:  S$40.78
HK$543.62
List Price:  HK$776.63
You save:  HK$233.01
CHF 63.04
List Price:  CHF 90.06
You save:  CHF 27.02
NOK kr797.48
List Price:  NOK kr1,139.30
You save:  NOK kr341.82
DKK kr502.49
List Price:  DKK kr717.87
You save:  DKK kr215.38
NZ$124.10
List Price:  NZ$177.29
You save:  NZ$53.19
د.إ257.07
List Price:  د.إ367.26
You save:  د.إ110.18
৳8,361.55
List Price:  ৳11,945.58
You save:  ৳3,584.03
₹5,962.79
List Price:  ₹8,518.63
You save:  ₹2,555.84
RM314.04
List Price:  RM448.65
You save:  RM134.61
₦108,335.42
List Price:  ₦154,771.52
You save:  ₦46,436.10
₨19,495.71
List Price:  ₨27,852.21
You save:  ₨8,356.49
฿2,390.81
List Price:  ฿3,415.60
You save:  ฿1,024.78
₺2,467.44
List Price:  ₺3,525.07
You save:  ₺1,057.62
B$434.14
List Price:  B$620.23
You save:  B$186.09
R1,296.68
List Price:  R1,852.48
You save:  R555.80
Лв131.68
List Price:  Лв188.12
You save:  Лв56.44
₩102,198.93
List Price:  ₩146,004.73
You save:  ₩43,805.79
₪256.56
List Price:  ₪366.53
You save:  ₪109.97
₱4,090.81
List Price:  ₱5,844.26
You save:  ₱1,753.45
¥10,994.99
List Price:  ¥15,707.80
You save:  ¥4,712.81
MX$1,408.98
List Price:  MX$2,012.91
You save:  MX$603.93
QR255.09
List Price:  QR364.43
You save:  QR109.34
P967.82
List Price:  P1,382.66
You save:  P414.84
KSh9,046.20
List Price:  KSh12,923.70
You save:  KSh3,877.50
E£3,562.49
List Price:  E£5,089.49
You save:  E£1,527
ብር8,907.19
List Price:  ብር12,725.10
You save:  ብር3,817.91
Kz63,830.88
List Price:  Kz91,190.88
You save:  Kz27,360
CLP$69,323.69
List Price:  CLP$99,038.09
You save:  CLP$29,714.40
CN¥510.80
List Price:  CN¥729.75
You save:  CN¥218.94
RD$4,245.36
List Price:  RD$6,065.06
You save:  RD$1,819.70
DA9,465.07
List Price:  DA13,522.10
You save:  DA4,057.03
FJ$162.39
List Price:  FJ$232
You save:  FJ$69.60
Q539.11
List Price:  Q770.19
You save:  Q231.08
GY$14,638.77
List Price:  GY$20,913.42
You save:  GY$6,274.65
ISK kr9,772.70
List Price:  ISK kr13,961.60
You save:  ISK kr4,188.90
DH703.98
List Price:  DH1,005.73
You save:  DH301.75
L1,291.33
List Price:  L1,844.84
You save:  L553.50
ден4,143.97
List Price:  ден5,920.21
You save:  ден1,776.24
MOP$559.97
List Price:  MOP$800
You save:  MOP$240.02
N$1,289.45
List Price:  N$1,842.15
You save:  N$552.70
C$2,574.80
List Price:  C$3,678.44
You save:  C$1,103.64
रु9,534.71
List Price:  रु13,621.60
You save:  रु4,086.89
S/260.99
List Price:  S/372.86
You save:  S/111.86
K283.85
List Price:  K405.52
You save:  K121.66
SAR262.91
List Price:  SAR375.60
You save:  SAR112.69
ZK1,936.45
List Price:  ZK2,766.47
You save:  ZK830.02
L335.12
List Price:  L478.77
You save:  L143.64
Kč1,694.03
List Price:  Kč2,420.15
You save:  Kč726.12
Ft27,771.44
List Price:  Ft39,675.18
You save:  Ft11,903.74
SEK kr774.38
List Price:  SEK kr1,106.30
You save:  SEK kr331.92
ARS$71,792.58
List Price:  ARS$102,565.23
You save:  ARS$30,772.64
Bs484.55
List Price:  Bs692.24
You save:  Bs207.69
COP$307,165.41
List Price:  COP$438,826.54
You save:  COP$131,661.12
₡35,530.54
List Price:  ₡50,760.09
You save:  ₡15,229.55
L1,777.33
List Price:  L2,539.15
You save:  L761.82
₲546,250
List Price:  ₲780,390.60
You save:  ₲234,140.59
$U3,115.91
List Price:  $U4,451.49
You save:  $U1,335.58
zł287.82
List Price:  zł411.19
You save:  zł123.37
Already have an account? Log In

Transcript

All right, so welcome back again. So in this first class session of the course will be trying to see how to work with nested commands or nested commands. So in most your life, sometimes they try to nest the commands under another command. So let's see how to work with it right. So an example of a simple nice command is something like this, you have the main command, then under that particular command, you have a sub command, then you have another sub command, and another sub command, we have another sub command, right? So this is going to be like the period and then this is going to be listed a child, then these are going to be another Dc grandchild, right?

Is something very simple. It's very easy. So how do you create a nested command by that too, we learnt in the previous tutorial on click on how to do that with a rebase. And now let's see how to do another one with a GPA. So I just want to create another file. I'm going to call it as nested group.

Good sila right Till I go to pay for Mr group, Alessia token is just going to input a pass, then we'll create our main function which is going to be pass the inner critic to it. Right? Very simple. Let's see how to work with it. So the simplest way that we are going to create a doc string for this our function to a simple listed command like that, right? The list initialized.

Mission is supposed to be augmented by us. good argument. Let me expand it to let you work on it. Then I'm going to give it by description to be a simple nested CLS or something like that. That is something very busy can also give the programming in case you want to specify the name that you want to give for the program. So let's call it us, this did something very simple.

Okay, because that is something basic we have done. Now let's see how to work on a subcommittee. So the first one is we are going to create a main parser so this is going to be our main parser so we're just going to initialize by going to be our main parser right, then we're to create a sub parser so the sub path is going to be used as the sub command so it's going to be our sub parser pool sub command. To disable this sub password has to be using to list it up so I'm just going to be sub pasa can be passed can be passing anyhow you want it to be good to go. But add some passes. Just because b sub passes pivot, then I just go with a little just a mean command or something like that.

Whoa, let's go to the sub sub command. Very simple, and is what we need, right our sub commands, we have need to create a simple sub parser and emit parser. Now to be able to do another command under that school, it is going to be a sub command. Let's call this list parser. to list out something, they're going to be using a sub party that you created. So we're using the normal parser to create an argument using the sub pasa to create that, right?

There's going to be a sub process right to it, add a sub process. So if you take back from Portugal So far we have been doing let me bring it reticle. See whatever you do so far, it will be the one that you have been created for loops inside it. If you took whatever we do so far, it's like we call it pizza. You want to call it but I guess I get it right. But this time we are calling a pizza.

We are quitting another sub pizza, then you are going to add another pizza. Right? We are listing it again, I just go straight away with our pizza thing which we would add up but this pattern is supposed to be the big idea. So let's close this one off. Let's make it fully one. Okay, so let's continue.

So that's what you have done so far. Right? So we added that additional path and we want to call this list. Right? Then we just give it a description to help you to be on the list. All content.

So this is going to be episode we're going to do a same thing under a second. So we can have two different sub process. So this is going to be so this B list is going to be let's see, something different. This code is on us secrete pasa, right? Quito contains something like that creates a file. So if I save it now and let's come back to Oh to be x but pass a class can actually print x or nice piece we are storing everything here.

There's going to be a name space storage, right I'll call it that's a little funky with So this must be other paths, right path admit, let's try it again, I'm going to come back to Python three, or nested group that does help if I run it pivot. So now you can see from here that you have our positional argument, right? We have our sub commands, we have this list. And it's very interesting, right? So that is how to work with a nested group to just come back again. and run it for the list that has helped to give me a different scription.

So this is going to be for the list. Just like we have get maybe push origin master right calculator for this ns to know that you're trying to invest it perfectly to that. So that's the basic idea. So let's add some feature features to it to make it interesting. They need to create two passes sub commands. So we have our list and I quit, because I want to move another one under does this come back to this thing?

Added to the list just add a commit, commit. And I can actually add my argument they forgot passing by to like it can be optional arguments can be, which should not be in admin what you want to give. So let's give it a simple directory name. Liquid help, which is going to be your territory. It's probably something very easy. If I see it, let's run it again.

See how I do tree here, right basically should not commit. Very, very interesting. We still under desktop kumud. Very simple, very interesting. So we can do a lot of things with it. So that is how to add or create an asset group to the first one is just going to create your main plaza.

Then go to create a sub Plaza, we're going to be adding the various sub process. Then there's going to be a sub command over the corn. They can add argument on it, whether it's option argument or wish to not commit. So let's try with this one. Because I also want to create another is going to be like my grid but add a commit that can just go with a, let's say read only right? I just despite the fact that we could only just quit greed see creat.

Every political so they're very busy. So if I save it now and I come back here, and let's run it again. Let me find it here. I guess come back to the help. Everything is going to check with Crete agree to Crete Does that help is going to give me how to work with it to have a read only in case I want to run that particular option, let's come back to this, then go to read poorly. That's cool.

They say yes. Then just specify whatever you want to specify. Right? So great is now. Nice readable easy's very, very interesting and very simple. So that is how to work with nested group handles, we'll come back to the list option that we had, which was this list does that help.

And I can specify the directory. So let's go to this another tree so it can be any directory to see my folder, my folder. And to print out new space directory name is my food. That's how to work with ns that we can actually nest it over and over again. But the basic idea is that first of all, just create a main parser then you just go with ADD sub process, then just go with add an Add button, and the basic idea then can do anything that you want to do. So thank you for watching and see you next Session stablest

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.