awagink 发表于 2021-1-7 22:30:44

import sys 与from sys import argv的作用与区别

sys为python的内置模块,提供了很多函数和变量来处理Python运行时环境的不同部分。argv为“参数变量”,是一个参数列表,且第一个参数为脚本名称。sys.argv为sys模块的参数变量,同样可以视为参数列表,通过sys.argv[ ]来提取。sys.argv表示参数列表中的第一个参数,即脚本本身名称;sys.argv表示第二参数,如下图3,对应ex14.py,a,b,c中的第二参数,a.以《笨办法学Python》中的例子来说明两者的作用与区别:


两者所实现的结果一样,都将命令行输入参数转为输出。只是from sys import argv可以通过a,b,c,d……=argv来进行批量参数赋值,将argv中的参数依次赋值给左边的变量。而import sys去只能通过a=sys.argv[]这样来逐个赋值。两者的另一个区别在于命令行参数的输入上:使用from sys import argv语句,则输入参数的数量必须与a,b,c,d……=argv中赋值的变量数量相同,否则会报错;而import sys则不会,哪怕输入数量大于所读取的数量也无所谓,sys.argv[ ]只会按位读取。至于为什么会有这样的差别,或许就是因为sys.argv[ ]的按位读取吧。待更新……
页: [1]
查看完整版本: import sys 与from sys import argv的作用与区别