对于以下名为ex13.py的Python脚本:
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
我们要说的是,argv
以此顺序分配给左侧的四个变量。
然后,当我在终端中使用此脚本时:
python ex13.py first 2nd 3rd
我知道我们正在使用终端作为输入方法将变量传递给脚本。但是,让我感到困惑的是。
当我编写基本的Python脚本时,我的称呼方式是:
python ex3.py
我是否正确地说这个python ex3.py
没有传递单个命令行参数,而python ex13.py first 2nd 3rd
却传递了几个参数?
答案 0 :(得分:1)
从命令行工作时,argv返回一个命令行参数列表,其中第一个(在零argv[0]
处,我们得到在pyhton
名称之后使用的python文件名)
从第一个位置开始,这些值与接收自变量的顺序有关。请注意,如果您使用可选参数(python myscript.py -p 127.0.0.1
),则这些参数也计入argv。这样您将获得argv[1] == -p
我是否正确地说,这个
python ex3.py
没有传递单个 命令行参数和python ex13.py first 2nd 3rd
正在传递 几个?
不,您不正确,python ex3.py
传递了1个参数argv[0] = ex3.py
。