关注微信公众号“ python社区营 ”干货分享,更多资源教程
背景
最近编写一个python程序的时候,需要去获取python命令行的参数,因此这里记录下如何获取命令行参数的方法。
一、sys 模块
在 Python 中,sys 模块是一个非常常用且十分重要的模块,通过模块中的 sys.argv 就可以访问到所有的命令行参数,它的返回值是包含所有命令行参数的列表(list),参数个数: len(sys.argv)
脚本名: sys.argv[0]
参数1: sys.argv[1]
参数2: sys.argv[2]
下面我们通过程序来说明它的用法:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import sys
def main():
"""
通过sys模块来识别参数demo, http://blog.csdn.net/ouyang_peng/
"""
print('参数个数为:', len(sys.argv), '个参数。')
print('参数列表:', str(sys.argv))
print('脚本名为:', sys.argv[0])
for i in range(1, len(sys.argv)):
print('参数 %s 为:%s' % (i, sys.argv[i]))
if __name__ == "__main__":
main()
下面我们通过命令行来运行该python脚本
1.1、不传递参数我们执行命令 python test.py
(venv) C:\Code Python\SMTP>python test.py
参数个数为: 1 个参数。
参数列表: ['test.py']
脚本名为: test.py
识别到的参数只有一个,就是脚本名 test.py
1.2、传递多个参数当我们传递参数的时候, 我们执行命令 python test.py ouyangpeng csdn
(venv) C:\Code Python\SMTP>python test.py ouyangpeng csdn
参数个数为: 3 个参数。
参数列表: ['test.py', 'ouyangpeng', 'csdn']
脚本名为: test.py
参数 1 为:ouyangpeng
参数 2 为:csdn
(venv) C:\Code Python\SMTP>
识别到的参数有3个,分别是脚本名 test.py,参数 1