最近在学习图像处理相关内容,也在github上尝试过不少代码,刚开始不明白别人写的代码中读取图片的代码到底如何运行的,比如:
img = cv2.imread(sys.argv[1])
但自己运行(在pycharm中运行的)立马报错列表索引超出范围:
这个问题困扰了我很久,查了很多资料也看不懂(还是自己太菜了),以至于后来只要看到有sys.argv[ ]的代码直接劝退。。。但最近又卡在这个问题上,不跨过这个坎不行了,下定决心好好研究一下,以下是我学习过程中对于sys.argv[ ]的理解。
所以sys.argv[0]
、sys.argv[1]
之类的到底如何理解?首先了解一下不同参数下基本的含义:
① argv[0]
:程序运行的全路径名
② argv[1]
:指向执行程序名后的第一个字符串
③ argv[2]
:指向执行程序名后的第二个字符串
④ argv[n]
:指向执行程序名后的第n个字符串
说这么些其实也不太好理解,先看一看网上举的比较多的例子,我在test.py
中输入了如下代码:
import sys
a = sys.argv[0]
b = sys.argv[1