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的Twisted框架实现webshell密码扫描器的教程
Apr 16 Python
Python制作简单的网页爬虫
Nov 22 Python
python正则表达式之作业计算器
Mar 18 Python
Python探索之创建二叉树
Oct 25 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
Python利用公共键如何对字典列表进行排序详解
May 19 Python
pytorch + visdom CNN处理自建图片数据集的方法
Jun 04 Python
Python查看微信撤回消息代码
Jun 07 Python
python3 unicode列表转换为中文的实例
Oct 26 Python
Python异常的检测和处理方法
Oct 26 Python
PyCharm设置每行最大长度限制的方法
Jan 16 Python
pycharm软件实现设置自动保存操作
Jun 08 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操作XML作为数据库的类
2010/12/19 PHP
php 的反射详解及示例代码
2016/08/25 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
Google韩国首页图标动画效果
2007/08/26 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
2016/09/09 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
详解webpack 入门与解析
2018/04/09 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
2020/08/20 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
2020/11/09 jQuery
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
[06:45]2018DOTA2亚洲邀请赛 4.5 SOLO赛 Sccc vs Maybe
2018/04/06 DOTA
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
python实现狄克斯特拉算法
2019/01/17 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
python 装饰器的基本使用
2021/01/13 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
猫咪家具:CatsPlay
2018/11/03 全球购物
2014年会演讲稿范文
2014/01/06 职场文书
大学生自我鉴定书
2014/03/24 职场文书
暑假学习心得体会
2014/09/02 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
年终工作总结范文2014
2014/11/27 职场文书
教师外出学习心得体会
2016/01/18 职场文书
oracle索引总结
2021/09/25 Oracle
正则表达式拆分url实例代码
2022/02/24 Java/Android
UNION CREATIVE《Re:从零开始的异世界生活》雷姆手办
2022/03/20 日漫
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js