argv参数变量
from sys import argv script, first, second, third = argv print("The script is called:", script) print("Your first variable is:", first) print("Your second variable is:", second) print("Your third variable is:", third)
命令行运行报错:
script, first, second, third = argv ValueError: not enough values to unpack (expected 4, got 1)
argv即所谓的参数变量(argument variable),
这个变量保存着运行python脚本时传递给python脚本的参数
第3行将argv解包(unpack),把argv中的东西取出,解包,将所有的参数依次赋值给左边的这些变量
原因在于没有添加命令行参数
由于设定的参数是4个,因此包括文件名应该有4个参数,否则报错
修改命令行输入:
python3 ex13.py first 2nd 3rd
输出结果:
The script is called: ex13.py Your first variable is: first Your second variable is: 2nd Your third variable is: 3rd
可以将first、2nd、3rd替换成任意3样
argv[0]表示脚本文件的路径,1开始时参数
script会自动赋值为python文件名,后3个参数,用空格分开,会被解包分别赋给py文件里的自定义变量
argv 与 input() 有什么不同?
不同点在于用户输入的时机。如果参数是在用户执行命令时就要输入,那就用argv;如果是在脚本运行过程中需要用户输入,那就用input()。
* 命令行参数是字符串