Does Python have an argc argument?

Dan1676 picture Dan1676 · Nov 20, 2011 · Viewed 100.8k times · Source

I have written the same program (open text file and display contents) in C and C++. Now am doing the same in Python (on a Linux machine).

In the C programs I used the code:

if (argc != 2) {
    /* exit program */
}

Question: What is used in Python to check the number of arguments

#!/usr/bin/python
import sys
try:
    in_file = open(sys.argv[1], "r")
except:
    sys.exit("ERROR. Did you make a mistake in the spelling")
text = in_file.read()
print text
in_file.close()

Current output:

./python names.txt = Displays text file (correct)
./python nam = error message: stated from the sys.ext line (correct)
./python = error message: stated from the sys.ext line (wrong: want it to be a
separate error message stating *no file name input*)

Answer

sepp2k picture sepp2k · Nov 20, 2011

In python a list knows its length, so you can just do len(sys.argv) to get the number of elements in argv.