在学习PyQt5的时候碰到了sys.argv的运用,所以我就在网上查找这个的相关资料,结果硬是看了一个多小时才弄懂其中的来龙去脉(郁闷中)。在这里吐槽一些分享知识的孩子们,以后可以把知识的内容写简单点嘛!一个简单的知识点都可以被你们写的这么复杂。。。
sys.argv其实就是创建一个列表,而这个列表就是用来存储我们用户在dos窗口中输入的内容。这个列表大致内容是这样的:[“该程序所在的文件目录”,"…"]。省略号大家先忽略,先了解这个列表的大致格式即可,下文会对这个列表有一个详细的解释。
从这里我们可以看出,这个列表的第一个元素就是我们所写程序的文件目录,后面的都是我们在dos窗口中输入的内容(也就是我们通常说的参数变量)。
光是这样用文字来说可能还是有点抽象,那么下面就直接走代码吧。
一、我们在使用sys.argv时,首先要调用sys这个库。
import sys
二、我们在dos窗口中调用我们所写的程序是需要该程序所在的文件目录的。我们可以通过下列的代码来获取该程序的文件目录,然后将其复制粘贴至dos窗口即可。
import sys
a=sys.argv
print(a)
得到如下结果:
['F:/pythoncharm专属文件夹/利用python进行图像识别/PyQt5的学习.py']
这就是该程序所在的文件目录。
三、现在我们在程序中输入以下代码:
import sys
a=sys.argv[0]
b=sys.argv[1]
c=sys.argv[2]
print("filename:",a)
print("第一个变量是:",b)
print("第二个变量是:",c)
这时我们再打开dos窗口(就是黑窗口),输入一下内容:
python F:/pythoncharm专属文件夹/利用python进行图像识别/PyQt5的学习.py sys.argv 原来是这么一回事
结果如下:
['F:/pythoncharm专属文件夹/利用python进行图像识别/PyQt5的学习.py', 'sys.argv', '原来是这么一回事']
filename: F:/pythoncharm专属文件夹/利用python进行图像识别/PyQt5的学习.py
第一个变量是: sys.argv
第二个变量是: 原来是这么一回事
see that,这就是sys.argv,它就是一个可以创建列表用来存储程序所在文件目录和我们在dos窗口上输入的内容,而我们所写的程序的作用只是在于规定了我们在dos窗口中所输入的指令在经处理后应出现内容的格式,仅此而已。
好了,以上就是关于sys.argv这个玩意的基本运用。