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友情链接检查方法
Jul 08 Python
使用Python从有道词典网页获取单词翻译
Jul 03 Python
python 遍历字符串(含汉字)实例详解
Apr 04 Python
Python协程的用法和例子详解
Sep 09 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
May 31 Python
Python使用Pickle库实现读写序列操作示例
Jun 15 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
Jul 06 Python
用Anaconda安装本地python包的方法及路径问题(图文)
Jul 16 Python
python实现将range()函数生成的数字存储在一个列表中
Apr 02 Python
python logging模块的使用
Sep 07 Python
Python模拟登录和登录跳转的参考示例
Oct 30 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 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中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
php的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
JavaScript实现数据类型的相互转换
2016/03/06 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
详解angular element()方法使用
2017/04/08 Javascript
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
webpack之devtool详解
2018/02/10 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
JavaScript实现一个带AI的井字棋游戏源码
2018/05/21 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
Python简单实现TCP包发送十六进制数据的方法
2016/04/16 Python
Python实现代码统计工具(终极篇)
2016/07/04 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
2019/04/04 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
python 通过exifread读取照片信息
2020/12/24 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
专升本自我鉴定
2013/10/10 职场文书
报到证丢失证明
2014/01/11 职场文书
网络研修随笔感言
2014/02/17 职场文书
英语老师推荐信
2014/02/26 职场文书
新闻编辑求职信
2014/04/09 职场文书
2014年初中班主任工作总结
2014/11/08 职场文书
网络管理员岗位职责
2015/02/12 职场文书
毕业证明书
2015/06/19 职场文书
礼貌问候语大全
2015/11/10 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书