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里将list中元素依次向前移动一位
Sep 12 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
May 27 Python
Python实现二分查找与bisect模块详解
Jan 13 Python
Python迭代器和生成器定义与用法示例
Feb 10 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
详解用python写一个抽奖程序
May 10 Python
numpy中的ndarray方法和属性详解
May 27 Python
Python数据可视化实现正态分布(高斯分布)
Aug 21 Python
Python加速程序运行的方法
Jul 29 Python
jupyter 添加不同内核的操作
Feb 06 Python
TensorFlow低版本代码自动升级为1.0版本
Feb 20 Python
Python+Tkinter打造签名设计工具
Apr 01 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
在IIS上安装PHP4.0正式版
2006/10/09 PHP
typecho插件编写教程(六):调用接口
2015/05/28 PHP
php-redis中的sort排序函数总结
2015/07/08 PHP
php实现购物车功能(上)
2020/07/23 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
浅析AngularJS中的生命周期和延迟处理
2015/06/18 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
JavaScript中Array对象用法实例总结
2016/11/29 Javascript
原生javascript实现图片放大镜效果
2017/01/18 Javascript
JS实现DOM删除节点操作示例
2018/04/04 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
一步步教你利用Docker设置Node.js
2018/11/20 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
python发布模块的步骤分享
2014/02/21 Python
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
python基于json文件实现的gearman任务自动重启代码实例
2019/08/13 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
css3遮罩层镂空效果的多种实现方法
2020/05/11 HTML / CSS
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
新大陆软件面试题
2016/11/24 面试题
公司司机岗位职责范本
2014/03/03 职场文书
共产党员承诺书
2014/03/25 职场文书
英文推荐信格式范文
2014/05/09 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
企业总经理任命书
2014/06/05 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书