Argument Passing with sys.argv

Python 3: From Scratch to Intermediate ADVANCED LEVEL: Python 3 - Other Advanced Concepts
6 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$99.99
List Price:  $139.99
You save:  $40
€93.77
List Price:  €131.29
You save:  €37.51
£80.84
List Price:  £113.18
You save:  £32.34
CA$137.53
List Price:  CA$192.54
You save:  CA$55.01
A$155.84
List Price:  A$218.18
You save:  A$62.34
S$136.11
List Price:  S$190.56
You save:  S$54.45
HK$783.07
List Price:  HK$1,096.33
You save:  HK$313.26
CHF 91.04
List Price:  CHF 127.46
You save:  CHF 36.42
NOK kr1,101.67
List Price:  NOK kr1,542.39
You save:  NOK kr440.71
DKK kr700.10
List Price:  DKK kr980.18
You save:  DKK kr280.07
NZ$169.82
List Price:  NZ$237.75
You save:  NZ$67.93
د.إ367.23
List Price:  د.إ514.14
You save:  د.إ146.90
৳10,949.65
List Price:  ৳15,329.95
You save:  ৳4,380.30
₹8,336.20
List Price:  ₹11,671.02
You save:  ₹3,334.81
RM478.35
List Price:  RM669.71
You save:  RM191.36
₦129,687.03
List Price:  ₦181,567.03
You save:  ₦51,880
₨27,766.58
List Price:  ₨38,874.33
You save:  ₨11,107.74
฿3,679.68
List Price:  ฿5,151.71
You save:  ฿1,472.02
₺3,248.23
List Price:  ₺4,547.65
You save:  ₺1,299.42
B$520.25
List Price:  B$728.38
You save:  B$208.12
R1,929.28
List Price:  R2,701.08
You save:  R771.79
Лв183.27
List Price:  Лв256.58
You save:  Лв73.31
₩137,435.75
List Price:  ₩192,415.55
You save:  ₩54,979.80
₪376.07
List Price:  ₪526.51
You save:  ₪150.44
₱5,756.72
List Price:  ₱8,059.64
You save:  ₱2,302.91
¥15,460.95
List Price:  ¥21,645.95
You save:  ¥6,185
MX$1,709.87
List Price:  MX$2,393.89
You save:  MX$684.02
QR364.04
List Price:  QR509.67
You save:  QR145.63
P1,385.73
List Price:  P1,940.08
You save:  P554.35
KSh13,119.90
List Price:  KSh18,368.39
You save:  KSh5,248.48
E£4,832.51
List Price:  E£6,765.71
You save:  E£1,933.20
ብር5,668.96
List Price:  ብር7,936.77
You save:  ብር2,267.81
Kz83,691.63
List Price:  Kz117,171.63
You save:  Kz33,480
CLP$95,228.57
List Price:  CLP$133,323.80
You save:  CLP$38,095.23
CN¥723.85
List Price:  CN¥1,013.42
You save:  CN¥289.57
RD$5,936.90
List Price:  RD$8,311.90
You save:  RD$2,375
DA13,457.95
List Price:  DA18,841.67
You save:  DA5,383.72
FJ$227.72
List Price:  FJ$318.82
You save:  FJ$91.09
Q775.98
List Price:  Q1,086.41
You save:  Q310.42
GY$20,874.15
List Price:  GY$29,224.64
You save:  GY$8,350.49
ISK kr14,123.58
List Price:  ISK kr19,773.58
You save:  ISK kr5,650
DH1,010.74
List Price:  DH1,415.07
You save:  DH404.33
L1,790.82
List Price:  L2,507.22
You save:  L716.40
ден5,773.75
List Price:  ден8,083.48
You save:  ден2,309.73
MOP$804.95
List Price:  MOP$1,126.96
You save:  MOP$322.01
N$1,917.07
List Price:  N$2,683.98
You save:  N$766.90
C$3,695.63
List Price:  C$5,174.03
You save:  C$1,478.40
रु13,325.78
List Price:  रु18,656.63
You save:  रु5,330.84
S/372.26
List Price:  S/521.17
You save:  S/148.91
K380
List Price:  K532.02
You save:  K152.01
SAR375.10
List Price:  SAR525.15
You save:  SAR150.05
ZK2,561.66
List Price:  ZK3,586.43
You save:  ZK1,024.76
L466.89
List Price:  L653.66
You save:  L186.77
Kč2,369.71
List Price:  Kč3,317.69
You save:  Kč947.98
Ft36,989.30
List Price:  Ft51,786.50
You save:  Ft14,797.20
SEK kr1,091.25
List Price:  SEK kr1,527.80
You save:  SEK kr436.54
ARS$87,116.28
List Price:  ARS$121,966.28
You save:  ARS$34,850
Bs690.90
List Price:  Bs967.28
You save:  Bs276.38
COP$391,948.05
List Price:  COP$548,742.95
You save:  COP$156,794.90
₡50,105.09
List Price:  ₡70,149.13
You save:  ₡20,044.04
L2,463.18
List Price:  L3,448.55
You save:  L985.37
₲738,132.47
List Price:  ₲1,033,414.98
You save:  ₲295,282.51
$U3,839.04
List Price:  $U5,374.81
You save:  $U1,535.77
zł404.45
List Price:  zł566.25
You save:  zł161.79
Already have an account? Log In

Transcript

One little tool that can prove to be very useful in some circumstances is arg v from within the SIS module. Basically what sis dot arg V is, is a list of command line arguments passed to a Python script, where arg V of zero is the script name itself. Now, please note that it is operating system dependent, whether this is a full path name or not, we will see this very soon for the windows 10 operating system. So, let's create a Python script and use sis dot arg V and then pass some arguments to the Python command when running it from the windows command line. I have created this script right here on my D drive called my script dot p y. So first of all, let's see the contents of the SIS dot arg v list.

For this. I'm going to import the SIS module and then I'm going to just Print out, sis dot arg v. Let's save the script as it is, and run it in the windows command line. So by Thawne, the my script.py, enter. So the result is a list with a single element, the full path name of the file. In order to extract this element as a string. Let's use index zero inside the script and then run the file once again.

So let me edit the script sis dot arg V of zero, save. And now let's run the file once again. Okay, so we got the file name out of the SIS dot arg v list. Great. Now what if we want to pass multiple arguments to the Python command, and then have these arguments passed further into the script? Well, in this case, the first argument of the SIS dot arg v list will still be the name of the file and all the subsequent arguments will be the a D arguments that we add to the Python command in the windows cmd.

So let's try this. Let's iterate over the SIS dot arg v list. And for the first element of the list, the one at index zero, let's print out the string. This is the file name, followed by the actual name of the file. So without further ado, let me write this. So let's say for argument in sis dot arg V, colon, and I said that if sis dot arg v dot index of argument, so if the index of the argument is equal to zero, meaning it is the first element in the list, then let's say print, this is the file name plus argument.

Otherwise, for each of the subsequent arguments that we're going to pass to the Python script, let's print out a slightly different string. So that would be the else clause. Else print. Let's say this is an argument, plus argument. Okay? Now let's save the file and run the script once again, also adding some arguments.

So we have Python, the name of the script. And let's add three more arguments. Let's say hi, hello, and greetings. I know it's kind of a silly example, but I want you to understand the main idea behind sis.rv. That's what's important at this point. So let's hit Enter.

And notice the results. We still got the first element of the CS dot arg v list printed out to the screen. Actually, let me delete this index right here. In order for us to see the entire list as it is with these additional arguments, enter. Okay, so notice the results. We still got the SIS dot arg v list printed out to the screen this time Having multiple elements, with the first one being the file name and the others being the arguments that we just passed to the script while running the Python command in the CMD.

Next we got the result of the for loop and the if else block right here, which is pretty straight forward and doesn't need any additional explanation, I think. Now let's upgrade this script. And let's say that we want to skip the file name from the SIS dot arg v path. And we also want to print out the index the position of each argument in the SIS dot arg v list, if you remember from earlier in the course, in order to iterate over a sequence by index and by element at the same time, we can use the enumerate function. So that would mean let me delete this first. So for index and argument in enumerate of CS dot arg v star at index one, colon, and now let's say print argument, and the space plus STr of index plus the colon, plus argument.

So notice that I used a slice inside the parentheses of the enumerate function sis dot arg V of one colon. Because I said we want to skip the file name, which is positioned at index zero. Next inside the print function right here, for each element in the SIS dot arg v slice, we are concatenating, the word argument with the arguments index converted to a string with a colon. And finally with the argument itself. Now let's save the file and run it once again in the command line, also passing the same three arguments as earlier. Okay, this time, the result is much more prettier and informative, I think.

So this is the way in which you can use C dot arg V in order to pass command line arguments to your Python script. I hope this video has been useful and I will see you very soon in the next one. Bye

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.