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

(0)

相关推荐

  • Python sys.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'是

  • Python 命令行参数sys.argv

    Python代码: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->import os, sysos.system(sys.argv[1])带参数执行 python xxx.py speos.system 是用来执行命令行的.因此该程序会接收到第一个参数spe,然后在命令行里执行spe,这样,spe(Python IDE)就打开了.

  • python中sys.argv参数用法实例分析

    本文实例讲述了python中sys.argv参数用法.分享给大家供大家参考.具体分析如下: 在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还是有些稀里糊涂的感觉. 今天又好好学习了一把,总算是大彻大悟了. Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明: 1.使用sys.argv[]的一简单实例 import sys,os os.system(sys.argv[1]) 这个例

  • python命令行参数sys.argv使用示例

    复制代码 代码如下: #diff.py#!/bin/env python import sys if len(sys.argv) <> 3:    print "Usage: " + sys.argv[0] + "file1 file2"    sys.exit(-1) file1 = sys.argv[1]file2 = sys.argv[2] list1 = {}for line in open(file1):    list1[line.split

  • 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:&qu

  • python切片及sys.argv[]用法详解

    一.python切片 a=a[::-1] 倒序 a=a[1:10:2] 下标1~10,以2间隔取 a=a[::2] 2间隔返回a[:] a=[1,2,3,4,5,6,7] print(a[::2]) [1,3,5,7] 二.sys.argv[]用法 Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始. 例: import sys,os os.system(sys.argv[1]) 这个例子os.system接收命令行参数,运行参数指令,保存为

  • Python.append()与Python.expand()用法详解

    如下所示: alist=[1,2]] >>>[1,2] alist.append([3,4]) >>>[1, 2, [3, 4]] alist.extend([3,4]) >>>[1, 2, 3, 4] 结论: list.apend(arg1) 参数类型任意,可以往已有列表中添加元素,若添加的是列表,就该列表被当成一个元素存在原列表中,只使list长度增加1. list.extend(list1) 参数必须是列表类型,可以将参数中的列表合并到原列表的末

  • python递归函数用法详解

    上期我们介绍了函数式编程,这期内容就是关于递归的函数内容,本期还是按照老规矩,给大家进行核心整理,内容通俗易懂,搭配实际应用,以供大家理解. 关于递归: 百度解释:是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象.在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知.使用递归解决问题,思路清晰,代码少.但是在主流高级语言中(如C语言.Pascal语言等)使用递归算法要耗用更多的栈空间,所以在堆栈尺寸受限制时(如嵌入式系统或者内核态编程),应避免采用.所有

  • Python self用法详解

    在定义类的过程中,无论是显式创建类的构造方法,还是向类中添加实例方法,都要求将 self 参数作为方法的第一个参数.例如,定义一个 Person 类: class Person: def __init__(self): print("正在执行构造方法") # 定义一个study()实例方法 def study(self): print(self,"正在学Python") zhangsan = Person() zhangsan.study() lisi = Pers

  • Python boxplot 用法详解

    详解: 箱型图提供了识别异常值的一个标准: 异常值通常被定义为小于QL-1.5IQR或大于QU+1.5IQR的值. QL称为下四分位数,表示全部观察值中有四分之一的数据取值比它小: QU称为上四分位数,表示全部观察值中有四分之一的数据取值比它大: IQR称为四分位数间距,是上四分位数QU与下四分位数QL之差,其间包含了全部观察值的一半. 最小值 (minimum); 下四分位数 (first quartile, Q1); 中值或中位数 (median), 或第二个四分位数 (second qua

  • Python3 sys.argv[ ]用法详解

    sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个"外部"很关键,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素.其第一个元素是程序本身,随后才依次是外部给予的参数. 下面我们通过一个极简单的test.py程序的运行结果来说明它的用法. #test.py import sys a=sys.argv[0] print(a) 在程序中找到 '运行'->点击->输入&

  • python解包用法详解

    对于一堆资料,我们可以把它分给不同的人使用,这个分散的过程,我们可以看成是解包方法是实现.当然实际python解包的使用会相对复杂一点,我们会对常见的列表.函数等进行操作.下面我们就Python解包的使用进行说明,然后带来两种解包方法的详解,大家一起往下看. 1.使用说明 (1)解包的意义就是将传递给函数的一个列表,元组,字典,拆分成独立的多个元素然后赋值给函数中的形参变量. (2)解包字典有两种解法,一种用*解的只有key,一种用**解的有key.value.但是这个方法**只能在函数定义中使

  • Python 中 Virtualenv 和 pip 的简单用法详解

    本文介绍了Python 中 Virtualenv 和 pip 的简单用法详解,分享给大家,具体如下: 0X00 安装环境 我们在 Python 开发和学习过程中需要用到各种库,然后在各个不同的项目和作品里可能用的版本还不一样,正因为有这种问题的存在才催生了virtualenv的诞生.virtualenv 可以在电脑上创建一个虚拟环境,可以针对每一个项目创建一个虚拟环境,这样就不用担心各个不同的项目用不同版本的库的时候出现的冲突了. 下面的内容只适用于 Linux/OSX,未经 Windows 环

  • Python在信息学竞赛中的运用及Python的基本用法(详解)

    前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在<算法竞赛入门经典-训练指南>中所说的一样,如果会用Python,在进行一些小程序的编写,如数据生成器时将会非常方便,它的语法决定了其简约性.本文主要介绍一下简单的Python用法,不会深入. Python的安装和实用 Linux(以Ubuntu系统为例) 一般的Linux都自带了Python,在命令行中输入Python即可进入 如果没有出现上图的文字,可以使

随机推荐