Python3.x那些事儿:[3]命令行参数传递

时间:2024-10-14 21:36:53

用命令行调用python脚本的时候,如果想往脚本中传递参数的时候,参数会被python解释器接受转化为一系列的字符串,放在sys模块中的argv列表中,因此可以使用argv[0]来引用第一个参数,以此类推。

比如现在写一个脚本,命名为xx.py,内容如下:

Python3.x那些事儿:[3]命令行参数传递

在命令行中调用,得到结果:

Python3.x那些事儿:[3]命令行参数传递

可以看到,argv[0]也就是命令行的第一个参数是xx.py,也就是脚本的名字,前面的那个“python”没有作为命令行参数传递进来,argv列表的长度至少是一个,当没有脚本和参数传递进来的时候,sys.argv[0]被赋予一个空字符串。修改xx.py如下:

Python3.x那些事儿:[3]命令行参数传递

这次双击运行。

Python3.x那些事儿:[3]命令行参数传递

可以看到第一个参数sys.argv[0]仍然是脚本的名称。

当脚本名字被设置为“-”时,sys.argv[0]就设置为“-”,表示标准输入。当使用“-c”时,sys.argv[0]被设置为“-c”,当使用“-m”时,sys.argv[0]就被设置为module的全名.

© 手抄报圈