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()。

* 命令行参数是字符串

 

posted @ 2022-09-13 15:54  瑟庄妮  阅读(108)  评论(0)    收藏  举报