一、背景
执行某个 .py
代码文件的时候,需要传入不同的参数。
例如:根据当天的日期通过 sh
脚本传参,便可利用 sys.argv
方便实现。
二、解释
sys.argv[]
是一个从程序外部获取参数的桥梁,即非 .py
文件本身的参数。
外部所获取的参数可以是多个,因此获得的是一个列表(list
),使用 []
提取其中的元素。
sys.argv[0]
代表代码本身文件路径,随后才依次是外部给予的参数。
三、实操
通过一个简单的 sys_argv.py
文件的运行结果进行说明:
# sys_argv.py 文件
import sys
name = sys.argv[0]
print(name)
文件保存在某个目录下,例如:D盘根目录。
打开”运行“,输入 cmd
并切换至D盘 cd D:
,执行 sys_argv.py
文件。
D:>python sys_argv.py
sys_argv.py # 输出文件本身名字
修改为参数1,并保存:
import sys
name = sys.argv[1]
print(name)
并执行:
D:>python sys_argv.py 100
100 # 输入的参数
再修改代码为:
import sys
name = sys.argv[2:]
print(name)
并执行:
D:>python sys_argv.py 100 200 300 400 500
['200', '300', '400', '500']
四、结论
sys.argv
其实就是一个列表,第一个元素为文件本身,后面的为用户输入的多个或一个参数。
必须保存程序文件,再通过外部进行执行。