python中sys.argv参数用法实例分析


Posted in Python onMay 20, 2015

本文实例讲述了python中sys.argv参数用法。分享给大家供大家参考。具体分析如下:

在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还是有些稀里糊涂的感觉。

今天又好好学习了一把,总算是大彻大悟了。

Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明:

1、使用sys.argv[]的一简单实例

import sys,os
os.system(sys.argv[1])

这个例子os.system接收命令行参数,运行参数指令,保存为sample1.py,命令行带参数运行sample1.py notepad,将打开记事本程序。

2、这个例子是简明python教程上的,明白它之后你就明白sys.argv[]了。

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, # notice comma 分别输出每行内容
f.close()
# 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': #当命令行参数为-- version,显示版本号
print 'Version 1.2'
elif option == 'help': #当命令行参数为--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,读出其内容
readfile(filename)

保存程序为sample.py.我们验证一下:

命令行带参数运行:sample.py ?version 输出结果为:version 1.2

命令行带参数运行:sample.py ?help 输出结果为:This program prints files……

在与sample.py同一目录下,新建a.txt的记事本文件,内容为:test argv;命令行带参数运行:sample.py a.txt,输出结果为a.txt文件内容:test argv,这里也可多带几个参数,程序会先后输出参数文件内容。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
简单的通用表达式求10乘阶示例
Mar 03 Python
python处理json数据中的中文
Mar 06 Python
Python使用minidom读写xml的方法
Jun 03 Python
Python变量作用范围实例分析
Jul 07 Python
Python的Django框架中forms表单类的使用方法详解
Jun 21 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 Python
Python pandas RFM模型应用实例详解
Nov 20 Python
基于python cut和qcut的用法及区别详解
Nov 22 Python
python-sys.stdout作为默认函数参数的实现
Feb 21 Python
Django中F函数的使用示例代码详解
Jul 06 Python
python文件操作之目录遍历实例分析
May 20 #Python
Python中使用strip()方法删除字符串中空格的教程
May 20 #Python
python字典排序实例详解
May 20 #Python
在Python中操作字符串之startswith()方法的使用
May 20 #Python
Python中splitlines()方法的使用简介
May 20 #Python
在Python中用split()方法分割字符串的使用介绍
May 20 #Python
Python编程之多态用法实例详解
May 19 #Python
You might like
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
jquery 3D球状导航的文章分类
2010/07/06 Javascript
TextArea不支持maxlength的解决办法(jquery)
2011/09/13 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
2013/06/21 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
VueJs路由跳转——vue-router的使用详解
2017/01/10 Javascript
Javascript中的 “&amp;” 和 “|” 详解
2017/02/02 Javascript
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
JavaScript中创建原子的方法总结
2018/08/26 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
2018/11/19 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
python复制与引用用法分析
2015/04/08 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
2017/09/24 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
python re模块常见用法例举
2021/03/01 Python
Java中实现多态的机制
2015/08/09 面试题
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
物流仓管员工作职责
2014/01/06 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
初中教师业务学习材料
2014/05/12 职场文书
高中毕业典礼演讲稿
2014/09/09 职场文书
学生会辞职信
2015/03/02 职场文书
付款证明模板
2015/06/19 职场文书
百年校庆感言
2015/08/01 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript
React自定义hook的方法
2022/06/25 Javascript
React更新渲染原理深入分析
2022/12/24 Javascript