python argv参数
sys.argv变量是一个字符串的列表。特别地,sys.argv包含了命令行参数列表,即使用命令行传递给你的程序的参数。
这里,当我们执行python using_sys.py we are arguments的时候,我们使用python命令运行using_sys.py模块,后面跟着的内容被作为参数传递给程序。Python为我们把它存储在sys.argv变量中。记住,脚本的名称总是sys.argv列表的第一个参数。所以,在这里,’using_sys.py’是sys.argv[0]、’we’是sys.argv[1]、’are’是sys.argv[2]以及’arguments’是sys.argv[3]。注意,Python从0开始计数,而非从1开始。
sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径;比如在CMD命令行输入 “python test.py -help”,那么sys.argv[0]就代表“test.py”。sys.startswith() 是用来判断一个对象是以什么开头的,比如在python命令行输入“’abc’.startswith(‘ab’)”就会返回True
以下实例参考:
#!/usr/local/bin/env python
import sys
def readfile(filename):'''Print a file to the standard output.'''f = file(filename)while True:line = f.readline()if len(line) == 0:breakprint line,f.close()
print "sys.argv[0]---------",sys.argv[0]
print "sys.argv[1]---------",sys.argv[1]
print "sys.argv[2]---------",sys.argv[2]
# 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 charactersif option == 'version':print 'Version 1.2'elif option == '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(filename)
执行结果:# python test.py --version help
sys.argv[0]--------- test.py
sys.argv[1]--------- --version
sys.argv[2]--------- help
Version 1.2
注意:sys.argv[1][2:]表示从第二个参数,从第三个字符开始截取到最后结尾,本例结果为:version
python argv参数相关推荐
- Python argv参数传输接收
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # @Author: # @Date : 2018/10/22import sysprint(sys.ar ...
- python argv 详解_python解析传入的命令行参数 argv
python解析命令行参数主要有三种方法:sys.argv.argparse解析.getopt解析 方法一:sys.argv -- 命令行执行:python test_命令行传参.py 1,2,3 1 ...
- Xiaoxia[PG] Python可变参数与标准输出的重定位
Xiaoxia[PG] Python可变参数与标准输出的重定位 Python可变参数与标准输出的重定位 « Xiaoxia[PG] Python可变参数与标准输出的重定位 使用Python的内置函数p ...
- python函数参数*arg和**kwargs分别代表什么?
python函数参数*arg和**kwargs分别代表什么? 注意: 注意:参数arg.*args.**kwargs三个参数的位置必须是一定的.必须是(arg,*args,**kwargs)这个顺序, ...
- 关于int main( int argc, char* argv[] ) 中arg和argv参数理解
在示例程序中经常可以看到argc和argv这两个参数 ,在调试代码过程中遇到main函数为int main( int argc, char* argv[] ) 这种类型时往往会报错,或者是运行起来了但 ...
- Python函数参数的五种类型
之前项目需求,需要通过反射获取函数的参数,python中可以通过函数签名(signature)来实现. 首先需要了解函数参数的类型,Python的参数类型一共有5种:POSITIONAL_OR_KEY ...
- 注意python函数参数的可变变量的传递
1 def function(p): 2 p.append(4) 3 return 4 5 a = [1,2,3] 6 function(a) 7 8 print(a) --> ...
- python函数参数定义不合法_下列哪种函式参数定义不合法?
python 函数参数定义有四类: 1,必选参数:调用函数时候必须赋值的参数. a,须以正确的顺序传入函数 b,调用时的数量必须和声明时的一样 def exa(x): return x #b作为参数进 ...
- python 可变参数
python 可变参数 def add1(*data):sum = 0for i in data:sum = sum + ireturn sumprint( add1(1,2,3,4,5) )prin ...
最新文章
- 【公开课预告】AutoML知多少
- visual studio 汇编 创建 项目
- ethercat主站控制软件TwinCAT的安装
- java 四则运算 栈的实现
- mysql 三主_MySQL主主复制3
- Qt笔记-Q_UNUSED解决编译器unused paramenter告警
- SQLite的基本用法
- row_number() over()排序功能说明
- 数木桩的c语言编程,Vijos P1007 绕钉子的长绳子 C语言版
- Hadoop相关问题解决
- (转)Tomcat目录结构
- Python游戏汇总:三十个pygame游戏代码【附源码免费分享】
- 零售销售数据分析案例实战
- 史密斯圆图串并联口诀_史密斯圆图基本原理及应用.ppt
- 实习日记(4-28)
- Python 五角星的画法 five star
- ABAP 关于 delete adjacent duplicates from的小心得
- 如何让苹果电脑macOS原生支持读写多个NTFS格式硬盘
- 缓存穿透、雪崩、击穿的区分
- 最新Python实现12306余票查询系统