因为本人是自学python的,刚上手没多久就遇到了这个导入的模块函数,一直在IDLE上编辑运行,尝试从结果中找到它的用途,然而结果始终无果,在网上查了很多,发现只有一个版本对这个问题有更详细的解释,大部分都是抄袭的.给出的所有示例都是简明python教程中的一长串代码。我说我看了就明白了,但是我还是没有真正理解,因为我很困惑。我只知道“sys.argv[0]表示代码本身的文件路径”这一点,其实还是不清楚。后来经过千辛万苦,求教多方,才真正明白过来。记录下来分享一下,希望能从另一个角度给同样在求索过程中的同学一些启发。说白了,sys.argv[]就是一个从程序外部获取参数的桥梁。这个“外在”很重要,所以试图从代码上解释它的功能的人都没有看懂。因为我们可以从外部获取多个参数,所以获取的是一个列表(list),也就是说sys.argv其实可以看做是一个列表,所以我们可以使用[]来提取其中的元素。它的第一个元素是程序本身,后面是外部给定的参数。下面我们通过一个非常简单的test.py程序的运行结果来说明它的用法。`1#test.py23importsys4a=sys.argv[0]5print(a)`*1*2*3*4*5将test.py保存在c盘根目录下。在程序中找到‘运行’->点击->输入“cmd”->回车进入控制台命令窗口(如下图),首先输入cdc:(功能是将命令路径更改为根目录c盘),然后进入test.py运行我们刚才写的程序:结果是C:\test.py,也就是说0指的是代码(也就是这个.py程序)本身。然后我们把代码从0改成1:a=sys.argv[1]并保存,然后从控制台窗口运行,这次我们添加一个参数,输入:test.pywhat结果就是我们的参数input什么,看到这里是不是开始明白了?那我们再修改一下代码:a=sys.argv[2:]保存后,从控制台窗台运行程序,这次多加几个参数,用空格隔开:test.pyabcdef得到的结果是['b','c','d','e','f']应该完全实现。sys.argv[]其实是一个列表,里面的项就是用户输入的参数。关键是要明白参数是从程序外部输入的,而不是代码本身的哪里。如果你想看到它的效果,你应该设置程序被保存,从外面运行程序并给出参数。
