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实现的DES加密算法和3DES加密算法实例
Jun 03 Python
Python安装第三方库及常见问题处理方法汇总
Sep 13 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
Apr 26 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
关于Python3 lambda函数的深入浅出
Nov 27 Python
Django后台管理系统的图文使用教学
Jan 20 Python
tensorflow 实现自定义layer并添加到计算图中
Feb 04 Python
python的Jenkins接口调用方式
May 12 Python
基于Python模拟浏览器发送http请求
Nov 06 Python
Pandas之缺失数据的实现
Jan 06 Python
Python包管理工具pip的15 个使用小技巧
May 17 Python
Python超详细分步解析随机漫步
Mar 17 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教程 插件机制在PHP中实现方案
2012/11/02 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
用jquery统计子菜单的条数示例代码
2013/10/18 Javascript
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
基于javascript实现样式清新图片轮播特效
2016/03/30 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
学习Angularjs分页指令
2016/07/01 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
Python3.2中的字符串函数学习总结
2015/04/23 Python
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
Python PyQt5实现的简易计算器功能示例
2017/08/23 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
pycharm通过ssh连接远程服务器教程
2020/02/12 Python
享受加州生活方式的时尚舒适:XCVI
2018/07/09 全球购物
大四毕业生学习总结的自我评价
2013/10/31 职场文书
培训演讲稿范文
2014/01/12 职场文书
村捐赠仪式答谢词
2014/01/21 职场文书
自我鉴定 电子商务专业
2014/01/30 职场文书
新教师培训心得体会
2014/09/02 职场文书
河童之夏观后感
2015/06/11 职场文书
《所见》教学反思
2016/02/23 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python
Golang的继承模拟实例
2021/06/30 Golang
JS封装cavans多种滤镜组件
2022/02/15 Javascript