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类型强制转换long to int的代码
Feb 10 Python
python人人网登录应用实例
Sep 26 Python
python学习之面向对象【入门初级篇】
Jan 21 Python
使用python实现接口的方法
Jul 07 Python
在dataframe两列日期相减并且得到具体的月数实例
Jul 03 Python
python 批量修改/替换数据的实例
Jul 25 Python
对Python中内置异常层次结构详解
Oct 18 Python
Python中py文件转换成exe可执行文件的方法
Jun 14 Python
Python3 全自动更新已安装的模块实现
Jan 06 Python
Python如何用filter函数筛选数据
Mar 05 Python
Pandas实现一列数据分隔为两列
May 18 Python
python中lower函数实现方法及用法讲解
Dec 23 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中CI操作多个数据库的代码
2012/07/05 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
js注意img图片的onerror事件的分析
2011/01/01 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
用JS实现选项卡
2020/03/23 Javascript
Python编程实现的简单Web服务器示例
2017/06/22 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
python虚拟环境完美部署教程
2019/08/06 Python
Python Selenium参数配置方法解析
2020/01/19 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
网络技术支持面试题
2013/04/22 面试题
车间组长岗位职责
2013/12/20 职场文书
微博营销计划书
2014/01/10 职场文书
法律顾问服务方案
2014/05/15 职场文书
三月雷锋月活动总结
2014/07/03 职场文书
工程资料员岗位职责
2015/04/13 职场文书
二审答辩状范文
2015/05/22 职场文书
浅谈redis整数集为什么不能降级
2021/07/25 Redis