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调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
Aug 15 Python
Python3实现生成随机密码的方法
Aug 23 Python
python利用beautifulSoup实现爬虫
Sep 29 Python
使用Python的PEAK来适配协议的教程
Apr 14 Python
浅谈Python 字符串格式化输出(format/printf)
Jul 21 Python
python 获取网页编码方式实现代码
Mar 11 Python
python中使用psutil查看内存占用的情况
Jun 11 Python
Python获取一个用户名的组ID过程解析
Sep 03 Python
pymysql 开启调试模式的实现
Sep 24 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
May 25 Python
Pytorch 使用CNN图像分类的实现
Jun 16 Python
使用Python拟合函数曲线
Apr 14 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
安装apache2.2.22配置php5.4(具体操作步骤)
2013/06/26 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
php实现点击可刷新验证码
2015/11/07 PHP
解决php-fpm.service not found问题的办法
2017/06/06 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
javascript Array.remove() 数组删除
2009/08/06 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
Vue.JS入门教程之事件监听
2016/12/01 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
webpack分离css单独打包的方法
2018/06/12 Javascript
微信小程序websocket实现聊天功能
2020/03/30 Javascript
js变量值传到php过程详解 将php解析成数据
2019/06/26 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
django用户登录验证的完整示例代码
2019/07/21 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
轻化专业学生实习自我鉴定
2013/09/20 职场文书
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
《秋姑娘的信》教学反思
2014/02/28 职场文书
远程培训的心得体会
2014/09/01 职场文书
刘公岛导游词
2015/02/05 职场文书
大学团日活动总结书
2015/05/11 职场文书
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL