练习13 源代码
from sys import argv #导入sys模块,其中argv部分
#read the WYSS section for how to run this
script, first, second, third = argv #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)
输出结果
在widows10的终端输入 python 文件路径,文件名,另外三个参数。
C:\Users>python C:\Users\limin\Desktop\ex13.py first 2nd 3rd
#其中C:\Users\limin\Desktop\ex13.py为文件路径及文件名,必须是英文的
#以下为输出内容
The script is called: C:\Users\limin\Desktop\ex13.py
Your first variable is: first
Your second variable is: 2nd
Your third variable is: 3rd
知识点:
- import 为脚本文件导入模块,也称为某个库。
- sys.argv: 实现从程序外部向程序传递参数。argv就是所谓的‘参数变量(arguement variable),这个变量包含了传递给python的参数。
- 解包(unpacks) argv ,将外部参数传导到argv上,argv中的参数按顺序从左到右分配到script, first, second, 以及 third 上。
附加练习
- 把 input 和 argv 结合起来创建一个脚本,从用户那里获取更多 input 。别想得太难,就用 argv 来获取一些东西,再用 input 从用户那里获取一些东西。
from sys import argv #导入sys模块,其中argv部分
#read the WYSS section for how to run this
script, first, second, third = argv #argv对应四个参数
name = input("What's your name?") #input 姓名
age = input("How old are you?") #input 年龄
print("The script is called:",script)
print("Your first variable is:",first)
print("Your second variable is:",second)
print("Your third variable is:",third)
print(f"My name is {name}. I'm {age} years old.")
#print("My name is",name,". I'm", age, "years old.") 输出结果会同上。
常见问题
- argv 和 input() 之间的区别是什么?
区别取决于用户在哪被要求输入,如果是在命令行(cmd终端),就用 argv。如果你想让它们在程序已经运行的情况下用键盘输入,那就用 input() 。