Python:它有一个argc参数吗?

Dan*_*676 69 python linux error-handling file-io arguments

我用C和C++编写了相同的程序(打开文本文件和显示内容).现在我在Python中做同样的事情(在Linux机器上).

在C程序中,我使用代码if(argc!= 2){//退出程序}

问题:Python中用于检查参数数量的内容

if (argc != 2) {
    /* exit program */
}
Run Code Online (Sandbox Code Playgroud)

当前输出:

./python names.txt =显示文本文件(正确)./ python nam =错误消息:从sys.ext行声明(正确)./ python =错误消息:从sys.ext行声明(错误:想要它是一个单独的错误消息,说明没有文件名输入)

sep*_*p2k 111

在python中,列表知道它的长度,所以你只len(sys.argv)需要获取元素的数量argv.


Mar*_*tos 16

我经常使用快速肮脏的技巧从命令行读取固定数量的参数:

[filename] = sys.argv[1:]

in_file = open(filename)   # Don't need the "r"
Run Code Online (Sandbox Code Playgroud)

filename如果没有一个参数,这将为一个参数赋值并引发异常.


小智 8

你最好看看argparse的参数解析.

http://docs.python.org/dev/library/argparse.html

只是让事情变得简单,不需要自己做重物.