想用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 argv用法详解

本文地址: http://www.cppcns.com/jiaoben/python/139447.html

python的argv是什么意思_Python argv用法详解相关推荐

  1. python里format有什么用_python format用法详解

    format 基本语法是通过 {} 和 : 来代替以前的 % . format 函数可以接受不限个参数,位置可以不按顺序. format基本用法 "Hello {0} {1}".f ...

  2. Python中第三方库Requests库的高级用法详解

    Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...

  3. Python函数(函数定义、函数调用)用法详解

    函数 函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码. 函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码.函数还可以接 ...

  4. python中递归函数写法_python递归函数用法详解

    上期我们介绍了函数式编程,这期内容就是关于递归的函数内容,本期还是按照老规矩,给大家进行核心整理,内容通俗易懂,搭配实际应用,以供大家理解. 关于递归: 百度解释:是指函数/过程/子程序在运行过程序中 ...

  5. python 函数参数self_Python类中self参数用法详解

    Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上.后来对Python渐渐熟悉了一点,再回头看self的概念,似乎有点弄明白了. 首先明确的是s ...

  6. python中装饰器的作用_Python装饰器详解,详细介绍它的应用场景

    装饰器的应用场景附加功能 数据的清理或添加:函数参数类型验证 @require_ints 类似请求前拦截数据格式转换 将函数返回字典改为 JSON/YAML 类似响应后篡改为函数提供额外的数据 moc ...

  7. python time模块计算时长_python time模块详解

    一.在Python中,时间的表示通常有以下三方式:UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间.在中国为UTC+8.DST(Daylig ...

  8. python 描述符参考文档_python 描述符详解

    Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些" ...

  9. python break函数用法_Python break用法详解

    Python 语言没有提供 goto 语句来控制程序的跳转,这种做法虽然提高了程序流程控制的可读性,但降低了灵活性.为了弥补这种不足,Python 提供了 continue 和 break 来控制循环 ...

  10. python里的demo是什么_Python类demo详解

    Dog类,赋予每条小狗蹲下(sit())和打滚(roll_over())的能力 dog.py源码: class Dog(): """一次模拟小狗的简单尝试"&q ...

最新文章

  1. linux重定向文件容加时间,linux – 如何在Bash中将stdout重定向到文件时添加时间戳?...
  2. js一个典型的对象写法,推荐使用这种格式,用于处理图像的基本方法、
  3. 【SQL编程】Greenplum 与 MySQL 数据库获取周几函数及函数结果保持一致的方法
  4. R绘图 vs Python绘图(散点图、折线图、直方图、条形图、箱线图、饼图、热力图、蜘蛛图)
  5. 如何使用frame框架,将左边视为导航栏,右边作为链接界面
  6. 在Xcode中制作.a文件
  7. 解决办法:Cannot find the class file for org.apache.http.client.ClientProtocolException
  8. thinkphp5项目--个人博客(八)
  9. android如何关闭响应程序,android – 如何修复应用程序没有响应?
  10. org.dom4j.io.SAXReader解析xml
  11. Git回滚到某个commit
  12. 指标之王macd的计算公式和使用方法
  13. 打字测试软件 tt,TT打字测试软件
  14. HDOJ 5234 Happy birthday
  15. word/论文版本管理方案
  16. Unity中日历面板
  17. 更进一步 | Android 12 Beta 2 发布
  18. 软件工程学习笔记概要
  19. js---开发一款软件,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者体重是否合适(身高:cm)
  20. matlab直角坐标转换极坐标,matlab-在MATLAB中怎么将直角坐标转化为极坐标 – 手机爱问...

热门文章

  1. ubuntu下安装的php没有curl扩展,ubuntu下php怎么安装curl扩展?
  2. 全网最新超详细的【Axure】Axure RP 10的下载、安装、中文字体、授权【2023年】
  3. 我的世界1.7.2 java_我下载了我的世界1.7.2为什么总是显示Java有误,我都安装了3个Java了!...
  4. strictmode android,(十三)Android 性能优化 StrictMode
  5. C\C++之(++p)->x 与 ++p->x的区别小记
  6. 串口之CreateFile 函数详解
  7. UG12.0四五多轴编程加工实战案例视频教程
  8. [补题]牛客练习56,迷宫【orz】
  9. Python学习笔模式匹配与正则表达式之组合使用re.IGNORECASE、re.DOTALL和re.VERBOSE
  10. 功率放大器的工作原理及特点是什么