Python获取命令行参数的方法 import sys

0.sys 模块

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

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

通过程序来说明它的用法:

1.不传递参数时

import sys
if __name__ == '__main__':
    print(len(sys.argv))
    print type(sys.argv)
    for i in range(0, len(sys.argv)):
        print('参数 %s 为:%s' % (i, sys.argv[i]))
$ python test.py
输出:
1
<type 'list'>
参数 0 为:/Users/wang/PycharmProjects/testPro/test.py

从输出结果中,我们可以获取两个信息:

  1. 输入的命令行参数放在了一个list中,sys.argv.
  2. 没有其他的命令行参数输入时,识别到的参数只有一个,就是脚本名test.py,这是sys.argv[0]的值,将脚本名作为一个参数放在了sys.argv[0]中。

2.传递多个参数

执行命令:

$ python test.py yilishabai xiaohong
输出 :
3
3
['test.py', 'yilishabai', 'xiaohong']
参数 0 为:test.py
参数 1 为:yilishabai
参数 2 为:xiaohong

从输出中,我们可以看到多了两个命令行参数'yilishabai', 'xiaohong'。

3.Shell 传递参数

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$nn 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

实例

以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名(包含文件路径):

#!/bin/bash

echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";

为脚本设置可执行权限,并执行脚本,输出结果如下所示:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
Shell 传递参数实例!
执行的文件名:./test.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值