纳速健身

标题: import sys 与from sys import argv的作用与区别 [打印本页]

作者: awagink    时间: 2021-1-7 22:30
标题: import sys 与from sys import argv的作用与区别

sys为python的内置模块,提供了很多函数和变量来处理Python运行时环境的不同部分。

argv为“参数变量”,是一个参数列表,且第一个参数为脚本名称。

sys.argv为sys模块的参数变量,同样可以视为参数列表,通过sys.argv[ ]来提取。sys.argv[0]表示参数列表中的第一个参数,即脚本本身名称;sys.argv[1]表示第二参数,如下图3,对应ex14.py,a,b,c中的第二参数,a.

以《笨办法学Python》中的例子来说明两者的作用与区别:


(, 下载次数: 0)


(, 下载次数: 0)


(, 下载次数: 0)

两者所实现的结果一样,都将命令行输入参数转为输出。

只是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[ ]的按位读取吧。

待更新……






欢迎光临 纳速健身 (https://nasue.com/) Powered by Discuz! X3.4