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共享引用(多个变量引用)示例代码
Dec 04 Python
python 默认参数问题的陷阱
Feb 29 Python
python xml解析实例详解
Nov 14 Python
浅谈function(函数)中的动态参数
Apr 30 Python
Python即时网络爬虫项目启动说明详解
Feb 23 Python
python实现遍历文件夹修改文件后缀
Aug 28 Python
python实现停车管理系统
Nov 30 Python
十行代码使用Python写一个USB病毒
Jun 21 Python
Python处理时间日期坐标轴过程详解
Jun 25 Python
python 基于wx实现音乐播放
Nov 24 Python
python 实现两个变量值进行交换的n种操作
Jun 02 Python
Python之matplotlib绘制折线图
Apr 13 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通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
javascript instanceof 内部机制探析
2010/10/15 Javascript
IE6-IE9不支持table.innerHTML的解决方法分享
2012/09/14 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
浅谈Angular.js中使用$watch监听模型变化
2017/01/10 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
利用原生JS实现data方法示例代码
2019/05/28 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
JS如何把字符串转换成json
2020/02/21 Javascript
python写入xml文件的方法
2015/05/08 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
python 实现得到当前时间偏移day天后的日期方法
2018/12/31 Python
对Python _取log的几种方式小结
2019/07/25 Python
python实现桌面气泡提示功能
2019/07/29 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
LVMH旗下最大的奢侈品网站平台:24S
2020/05/24 全球购物
彩妆大赛策划方案
2014/05/13 职场文书
搞笑婚前保证书
2015/02/28 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书
导游词之昭君岛
2020/01/17 职场文书
python删除csv文件的行列
2021/04/06 Python
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫