python sys模块获取命令行参数解析

python输入处理系列文章,专栏总目录

1.python输入input

2.python sys模块获取命令行参数解析

3.python argparse包命令行参数解析

 

1、sys模块获取命令行参数

在 Python 中,sys 模块是一个非常常用且十分重要的模块,通过模块中的 sys.argv 就可以访问到所有的命令行参数,它的返回值是包含所有命令行参数的列表(list)。

参数个数: len(sys.argv)
脚本名: sys.argv[0]
参数1: sys.argv[1]
参数2: sys.argv[2]
...

下面我们通过程序来说明它的用法,test.py内容如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import sys

def main():
    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)不传递参数

 python test.py

输出:

参数个数为: 1 个参数。
参数列表: ['test.py']
脚本名为: test.py

2)传递多个参数

python test.py ouyangpeng csdn

输出:

参数个数为: 3 个参数。
参数列表: ['test.py', 'ouyangpeng', 'csdn']
脚本名为: test.py
参数 1 为:ouyangpeng
参数 2 为:csdn

3)传递多个参数和命令行选项

python test.py ouyangpeng csdn -u username -p password

输出:

参数个数为: 7 个参数。
参数列表: ['test.py', 'ouyangpeng', 'csdn', '-u', 'username', '-p', 'password']
脚本名为: test.py
参数 1 为:ouyangpeng
参数 2 为:csdn
参数 3 为:-u
参数 4 为:username
参数 5 为:-p
参数 6 为:password

识别到的参数有6个,分别是脚本名 test.py,参数 1 为:ouyangpeng,参数 2 为:csdn,命令行选项 -u 和 -p 都被识别为参数了,这样不合理。所以,引入argparse模块来识别命令行选项。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jingbo1801

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值