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中函数参数设置及使用的学习笔记
May 03 Python
python实现读取并显示图片的两种方法
Jan 13 Python
Python查询IP地址归属完整代码
Jun 21 Python
对python中url参数编码与解码的实例详解
Jul 25 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
Aug 09 Python
django 配置阿里云OSS存储media文件的例子
Aug 20 Python
python3实现微型的web服务器
Sep 03 Python
pycharm通过ssh连接远程服务器教程
Feb 12 Python
django实现模型字段动态choice的操作
Apr 01 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
Python3+Django get/post请求实现教程详解
Feb 16 Python
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
Apr 12 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-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
php生成随机数的三种方法
2014/09/10 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
js格式化货币数据实现代码
2013/09/04 Javascript
Javascript监视变量变化的方法
2015/06/09 Javascript
基于js实现投票的实例代码
2015/08/04 Javascript
微信小程序 122100版本更新问题解决方案
2016/12/22 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
2017/08/24 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
python中使用urllib2伪造HTTP报头的2个方法
2014/07/07 Python
Python3基础之list列表实例解析
2014/08/13 Python
Python脚本实现集群检测和管理功能
2015/03/06 Python
python循环监控远程端口的方法
2015/03/14 Python
python 中split 和 strip的实例详解
2017/07/12 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
python的re正则表达式实例代码
2018/01/24 Python
python如何通过twisted实现数据库异步插入
2018/03/20 Python
Python 学习教程之networkx
2019/04/15 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
Linux面试题LINUX系统类
2014/11/19 面试题
会计学习心得体会
2014/09/09 职场文书
公司股东合作协议书
2014/09/14 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
电话营销开场白
2015/05/29 职场文书
Python基础知识之变量的详解
2021/04/14 Python
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android
python绘制简单直方图(质量分布图)的方法
2022/04/21 Python