Python argv用法详解


Posted in Python onJanuary 08, 2016

想用python处理一下文件,发现有argv这个用法,搜来学习一下。

如果想对python脚步传参数,那么就需要命令行参数的支持了,这样可以省的每次去改脚步了。

用法是:python xx.py xxx

举例如下:

#-*- coding:utf- -*-
from sys import argv
script,first = argv
print "the script is called:", script
print "the first variable is:", first

这里argv接收到的是一个列表变量

#-*- coding:utf- -*-
from sys import argv
f = open(argv[], 'r')
print f.read()
f.close()

比方说这里我读取文件名,开始写成了 open(argv, 'r'),会提示类型错误,改成argv[1]就好了

下面再来详细介绍下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.我们验证一下:

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

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

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

Python 相关文章推荐
使用Python获取Linux系统的各种信息
Jul 10 Python
python 安装virtualenv和virtualenvwrapper的方法
Jan 13 Python
利用Python循环(包括while&amp;for)各种打印九九乘法表的实例
Nov 06 Python
python实现12306抢票及自动邮件发送提醒付款功能
Mar 08 Python
python3.5基于TCP实现文件传输
Mar 20 Python
python随机数分布random测试
Aug 27 Python
python实现随机漫步算法
Aug 27 Python
神经网络相关之基础概念的讲解
Dec 29 Python
python 计算一个字符串中所有数字的和实例
Jun 11 Python
Python + OpenCV 实现LBP特征提取的示例代码
Jul 11 Python
kafka-python 获取topic lag值方式
Dec 23 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
详解Python爬虫的基本写法
Jan 08 #Python
黑科技 Python脚本帮你找出微信上删除你好友的人
Jan 07 #Python
星球大战与Python之间的那些事
Jan 07 #Python
python高手之路python处理excel文件(方法汇总)
Jan 07 #Python
Python解析最简单的验证码
Jan 07 #Python
Python中http请求方法库汇总
Jan 06 #Python
python访问mysql数据库的实现方法(2则示例)
Jan 06 #Python
You might like
社区(php&amp;&amp;mysql)六
2006/10/09 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
让ThinkPHP支持大小写url地址访问的方法
2014/10/31 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
2017/05/05 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
2017/06/07 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
当jQuery遭遇CoffeeScript的时候 使用分享
2011/09/17 Javascript
利用ajaxfileupload插件实现文件上传无刷新的具体方法
2013/06/08 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
同步异步动态引入js文件的几种方法总结
2016/09/23 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
python中使用mysql数据库详细介绍
2015/03/27 Python
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
使用Python编写提取日志中的中文的脚本的方法
2015/04/30 Python
解决Python获取字典dict中不存在的值时出错问题
2018/10/17 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
python调用外部程序的实操步骤
2019/03/04 Python
Python进程的通信Queue、Pipe实例分析
2020/03/30 Python
python 双循环遍历list 变量判断代码
2020/05/04 Python
Python爬虫实例——爬取美团美食数据
2020/07/15 Python
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
工程业务员工作职责
2013/12/07 职场文书
销售团队激励口号
2014/06/06 职场文书
大学生工作自荐书
2014/06/16 职场文书
人力资源管理求职信
2014/08/07 职场文书
西双版纳导游词
2015/02/03 职场文书