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读取图片EXIF信息类库介绍和使用实例
Jul 10 Python
Python多线程编程(五):死锁的形成
Apr 05 Python
python实现简单多人聊天室
Dec 11 Python
Python 调用 zabbix api的方法示例
Jan 06 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
Mar 01 Python
浅谈Python的条件判断语句if/else语句
Mar 21 Python
Python HTML解析模块HTMLParser用法分析【爬虫工具】
Apr 05 Python
python实现定时压缩指定文件夹发送邮件
Dec 22 Python
python顺序执行多个py文件的方法
Jun 29 Python
Python:slice与indices的用法
Nov 25 Python
Python logging模块handlers用法详解
Aug 14 Python
python爬虫构建代理ip池抓取数据库的示例代码
Sep 22 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
杏林同学录(四)
2006/10/09 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
Javascript笔记一 js以及json基础使用说明
2010/05/22 Javascript
让人印象深刻的10个jQuery手风琴效果应用
2012/05/08 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
JavaScript数字和字符串转换示例
2014/03/26 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
清除js缓存的多种方法总结
2016/12/09 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
json字符串传到前台input的方法
2018/08/06 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
python单链表实现代码实例
2013/11/21 Python
python使用递归解决全排列数字示例
2014/02/11 Python
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
python的mysqldb安装步骤详解
2017/08/14 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
对python添加模块路径的三种方法总结
2018/10/16 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
使用python3 实现插入数据到mysql
2020/03/02 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
保护黄河倡议书
2014/05/16 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
python中的None与NULL用法说明
2021/05/25 Python
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server