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 k-近邻算法实例分享
Jun 11 Python
使用Python的Tornado框架实现一个简单的WebQQ机器人
Apr 24 Python
python中实现迭代器(iterator)的方法示例
Jan 19 Python
Python编程之Re模块下的函数介绍
Oct 28 Python
Django 使用logging打印日志的实例
Apr 28 Python
python random从集合中随机选择元素的方法
Jan 23 Python
Python多项式回归的实现方法
Mar 11 Python
python命令行参数用法实例分析
Jun 25 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
Feb 26 Python
Python接口测试get请求过程详解
Feb 28 Python
django实现HttpResponse返回json数据为中文
Mar 27 Python
Python+Appium实现自动抢微信红包
May 21 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 实例化类的一点摘记
2008/03/23 PHP
php mysql索引问题
2008/06/07 PHP
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
jQuery autocomplate 自扩展插件、自动完成示例代码
2011/03/28 Javascript
读jQuery之十 事件模块概述
2011/06/27 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
2013/03/05 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
Javascript window对象详解
2014/11/12 Javascript
C++中的string类的用法小结
2015/08/07 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
深入理解vue中的slot与slot-scope
2019/04/22 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
20招让你的Python飞起来!
2016/09/27 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
python并发和异步编程实例
2018/11/15 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
详解python对象之间的交互
2020/09/29 Python
python 进程池pool使用详解
2020/10/15 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
化学教育专业求职信
2014/07/08 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
vue实现可拖拽的dialog弹框
2021/05/13 Vue.js
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript
MySQL安装失败的原因及解决步骤
2022/06/14 MySQL
windows系统搭建WEB服务器详细教程
2022/08/05 Servers