Python sys.argv用法实例


Posted in Python onMay 28, 2015

sys.argv变量是一个字符串的列表。特别地,sys.argv包含了命令行参数 的列表,即使用命令行传递给你的程序的参数。

这里,当我们执行python using_sys.py we are arguments的时候,我们使用python命令运行using_sys.py模块,后面跟着的内容被作为参数传递给程序。Python为我们把它存储在sys.argv变量中。记住,脚本的名称总是sys.argv列表的第一个参数。所以,在这里,'using_sys.py'是sys.argv[0]、'we'是sys.argv[1]、'are'是sys.argv[2]以及'arguments'是sys.argv[3]。注意,Python从0开始计数,而非从1开始。

sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径;比如在CMD命令行输入 “python  test.py -help”,那么sys.argv[0]就代表“test.py”。

sys.startswith() 是用来判断一个对象是以什么开头的,比如在python命令行输入“'abc'.startswith('ab')”就会返回True
以下实例参考:

#!/usr/local/bin/env python

import sys

def readfile(filename):

    '''Print a file to the standard output.'''

    f = file(filename)

    while True:

          line = f.readline()

          if len(line) == 0:

             break

          print line,

    f.close()

print "sys.argv[0]---------",sys.argv[0]                                    

print "sys.argv[1]---------",sys.argv[1]                                    

print "sys.argv[2]---------",sys.argv[2]

# Script starts from here

if len(sys.argv) < 2:

    print 'No action specified.'

    sys.exit()

if sys.argv[1].startswith('--'):

   option = sys.argv[1][2:]

   # fetch sys.argv[1] but without the first two characters

   if option == 'version':

      print 'Version 1.2'

   elif option == 'help':

      print '''"

           This program prints files to the standard output.

           Any number of files can be specified.

           Options include:

           --version : Prints the version number

           --help    : Display this help'''

   else:

       print 'Unknown option.'

       sys.exit()

else:

    for filename in sys.argv[1:]:

        readfile(filename)

执行结果:# python test.py --version help

sys.argv[0]--------- test.py

sys.argv[1]--------- --version

sys.argv[2]--------- help

Version 1.2

注意:sys.argv[1][2:]表示从第二个参数,从第三个字符开始截取到最后结尾,本例结果为:version
Python 相关文章推荐
python求pi的方法
Oct 08 Python
Python利用IPython提高开发效率
Aug 10 Python
TensorFlow在MAC环境下的安装及环境搭建
Nov 14 Python
python中的内置函数max()和min()及mas()函数的高级用法
Mar 29 Python
python实现log日志的示例代码
Apr 28 Python
Python正则匹配判断手机号是否合法的方法
Dec 09 Python
python 处理微信对账单数据的实例代码
Jul 19 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
Python 切分数组实例解析
Nov 07 Python
Python基础之列表常见操作经典实例详解
Feb 26 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
Jul 13 Python
python如何设置静态变量
Sep 07 Python
Python中exit、return、sys.exit()等使用实例和区别
May 28 #Python
Python中的with...as用法介绍
May 28 #Python
python关键字and和or用法实例
May 28 #Python
Python yield 使用浅析
May 28 #Python
Python中super的用法实例
May 28 #Python
Python中的super用法详解
May 28 #Python
Python读写ini文件的方法
May 28 #Python
You might like
php-fpm.conf配置文件中文说明详解及重要参数说明
2018/10/10 PHP
PHP Include文件实例讲解
2019/02/15 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
js动态设置div的值下例子
2013/10/29 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
2014/08/30 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
简单谈谈Python中的反转字符串问题
2016/10/24 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
深入了解Python在HDA中的应用
2019/09/05 Python
python调用win32接口进行截图的示例
2020/11/11 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
英国网上购买肉类网站:Great British Meat
2018/10/17 全球购物
《威尼斯的小艇》教学反思
2014/02/17 职场文书
教师一帮一活动总结
2014/07/08 职场文书
2014年园林绿化工作总结
2014/12/11 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
新员工试用期自我评价
2015/03/10 职场文书
超强台风观后感
2015/06/09 职场文书
警示教育片观后感
2015/06/17 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书