Checking the number of command line arguments in p

2019-04-09 05:04发布

I'm new to python. Still getting my feet wet. I'm trying to do something like this:

import sys

if ((len(sys.argv) < 3 or < len(sys.argv > 3)):
    print """\
This script will compare two files for something
and print out matches

Usage:  theScript firstfile secondfile
"""
    return

I want to do this at the beginning of the script to check for the right number of arguments. The problem is "return" doesn't work here. I could do some big if then statement I suppose, but was hoping to not have to do that. Not sure if there is any easier way. Any ideas?

2条回答
The star\"
2楼-- · 2019-04-09 05:27

sys has a function called exit:

sys.exit(1)

is probably what you want. Using 1 tells the program calling your program that there was an error. You should probably consider writing to sys.stderr the reason for the error.

查看更多
萌系小妹纸
3楼-- · 2019-04-09 05:29

Use sys.exit() to exit from a script.

import sys

if ((len(sys.argv) < 3 or  len(sys.argv > 3)):  ## also removed extra `<`
    print """\
This script will compare two files for something
and print out matches

Usage:  theScript firstfile secondfile
"""
    sys.exit(0)
查看更多
登录 后发表回答