当前位置: 首页 > 编程笔记 >

Python argv用法详解

曹高轩
2023-03-14
本文向大家介绍Python argv用法详解,包括了Python argv用法详解的使用技巧和注意事项,需要的朋友参考一下

想用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,这里也可以多带几个参数,程序会先后输出参数文件内容。

 类似资料:
  • 本文向大家介绍numpy.where() 用法详解,包括了numpy.where() 用法详解的使用技巧和注意事项,需要的朋友参考一下 numpy.where (condition[, x, y]) numpy.where() 有两种用法: 1. np.where(condition, x, y) 满足条件(condition),输出x,不满足输出y。 如果是一维数组,相当于[xv if c el

  • HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。

  • 本文向大家介绍android popupwindow用法详解,包括了android popupwindow用法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了android popupwindow的用法,供大家参考,具体内容如下 一、基本用法 一般做法,新建类继承popupwindow。例 研究下popupwindow源码,以showAsDropDown来讲 第11行创建Wind

  • 本文向大家介绍详解ORACLE SEQUENCE用法,包括了详解ORACLE SEQUENCE用法的使用技巧和注意事项,需要的朋友参考一下 在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。 1、Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。 创建语句如下: 2、得到Sequen

  • 本文向大家介绍java Beanutils.copyProperties( )用法详解,包括了java Beanutils.copyProperties( )用法详解的使用技巧和注意事项,需要的朋友参考一下 这是一篇开发自辩甩锅稿~~~~ 昨天测试小姐姐将我的一个bug单重开了,emmmm....内心OS:就调整下对象某个属性类型这么简单的操作,我怎么可能会出错呢,一定不是我的锅!!but再怎么抗

  • 本文向大家介绍require.js的用法详解,包括了require.js的用法详解的使用技巧和注意事项,需要的朋友参考一下 一、为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。 这段代码依次加载多个js文件。 这样的写法有很大的缺