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中使用md5sum检查目录中相同文件代码分享
Feb 02 Python
python中lambda与def用法对比实例分析
Apr 30 Python
Python使用metaclass实现Singleton模式的方法
May 05 Python
Python做文本按行去重的实现方法
Oct 19 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
Jan 10 Python
Python 函数基础知识汇总
Mar 09 Python
Python实现的读取电脑硬件信息功能示例
May 30 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
Jan 29 Python
python批量下载抖音视频
Jun 17 Python
简单了解python关键字global nonlocal区别
Sep 21 Python
使用Python爬取Json数据的示例代码
Dec 07 Python
Python 统计序列中元素的出现频度
Apr 26 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
改变Apache端口等配置修改方法
2008/06/05 PHP
php下intval()和(int)转换使用与区别
2008/07/18 PHP
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
php7函数,声明,返回值等新特性介绍
2018/05/25 PHP
jQuery的一些注意
2006/12/06 Javascript
Display SQL Server Version Information
2007/06/21 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
Vue指令指令大全
2019/02/09 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
python实现的一个火车票转让信息采集器
2014/07/09 Python
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
使用Python对Excel进行读写操作
2017/03/30 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
python爬取哈尔滨天气信息
2018/07/14 Python
python绘制多个曲线的折线图
2020/03/23 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
Python3如何判断三角形的类型
2020/04/12 Python
在Mac中配置Python虚拟环境过程解析
2020/06/22 Python
详解使用CSS3的@media来编写响应式的页面
2017/11/01 HTML / CSS
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
用C#语言写出与SQLSERVER访问时的具体过程
2013/04/16 面试题
工厂门卫岗位职责
2013/11/25 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
redis 限制内存使用大小的实现
2021/05/08 Redis
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
java基础——多线程
2021/07/03 Java/Android
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS