黑松山资源网 Design By www.paidiu.com
想用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,这里也可以多带几个参数,程序会先后输出参数文件内容。
黑松山资源网 Design By www.paidiu.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
黑松山资源网 Design By www.paidiu.com
暂无评论...
更新日志
2024年10月09日
2024年10月09日
- 炉石传说最强术士卡组是哪个 术士最强天梯卡组推荐一览
- 炉石传说最强萨尔卡组是哪个 萨尔最强天梯卡组推荐一览
- 炉石传说最强潜行者卡组是哪个 潜行者最强天梯卡组推荐一览
- 银霞.1983-《爱迷惑我·我住小楼中》台湾复刻版[WAV+CUE]
- [雨果唱片]粤曲名家-《再折长亭柳》[WAV+CUE]
- 刘德华1998-你是我的女人[香港第二版][WAV]
- 压迫感谁最强?外媒评选恐怖游戏最佳女反派
- 还没正式发售:《寂静岭2:重制版》Steam玩家峰值近9000人
- 别搞政确了!超95%国外玩家反对强制包容性
- 《暗喻幻想:ReFantazio》试玩:ATLUS的自我挑战?
- 《憧憬成为魔法少女》第二季 反转魔法少女题材再掀热潮
- 海信AI电视E7N正式发布,引领AI画质新标杆
- 屠洪刚.2002-九九艳阳天【京文】【WAV+CUE】
- 齐秦.1996-丝路【东方】【WAV+CUE】
- 泳儿.2010-VINSELECTION新曲+精选2CD【英皇娱乐】【WAV+CUE】