Python:它有一个argc参数吗?
我用C和C ++编写了相同的程序(打开文本文件和显示内容)。 现在我在Python(在一台Linux机器上)上做同样的事情。
在C程序中,我使用了代码if(argc!= 2){// exit program}
问题:在Python中使用什么来检查参数的数量
#!/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()
电stream输出:
./python names.txt =显示文本文件(正确)./python nam =错误消息:从sys.ext行指出(正确)./python =错误消息:从sys.ext行声明(错误:想要它是一个单独的错误消息,说明没有文件名称input )
在Python中,一个列表知道它的长度,所以你可以只做len(sys.argv)
来获取argv
的元素数量。
我经常使用快速肮脏的技巧从命令行读取固定数量的参数:
[filename] = sys.argv[1:] in_file = open(filename) # Don't need the "r"
这将为filename
分配一个参数,如果没有一个参数,则会引发exception。
dir(sys)
说不。 len(sys.argv)
可以工作,但是在Python中,最好是请求宽恕而不是权限
#!/usr/bin/python import sys try: in_file = open(sys.argv[1], "r") except: sys.exit("ERROR. Can't read supplied filename.") text = in_file.read() print(text) in_file.close()
工作正常,而且更短。
如果你要退出,那会更好:
#!/usr/bin/python import sys text = open(sys.argv[1], "r").read() print(text)
我正在使用print()
所以它在2.7以及Python 3中工作。