sys模块包含了与Python解释器和它的环境有关的函数。

在python命令行环境下可以通过help('sys')或是点击打开链接可以查看sys模块所有的描述说明。

sys.argv变量是一个字符串的列表,包含了命令行参数的列表,即使用命令行传递给你的程序的参数。

脚本的名称总是sys.argv列表的第一个参数sys.argv[0],第二个参数sys.argv[1]为程序后面接的第一个参数,后面依次类推。这就完全类似于shell script 的默认变量$0,$1,$2...

#! /usr/bin/env python

#Filename:test_argv.py

import sys

print 'The command line arguments are:'

for i in sys.argv:

print i

执行结果如下:

$ python test_argv.py hello , world !

The command line arguments are:

test_argv.py

hello

,

world

!

以下这个程序用来模拟Linux/Unix用户熟悉的cat命令。只需要指明某路径下某些文本文件的名字,这个程序会把它们打印输出。输入多个文件可以实现文件的拼接

#!/usr/bin/env python

#Filename: cat.py

import sys

def ReadFile(filename):

#f=open(“filename" , "r")

f=open(filename , "r")

while True: #一行一行地读取文件

lines =f.readline()

if lines:

print (lines) #将读取的一行文本打印出来

else:

break

f.close()

if len(sys.argv) < 2:

print "No action excuted"

sys.exit()

elif sys.argv[1].startwith ("--"):

option = sys.argv[1][2:]

if option == 'version':

print ' Version 2.7.3'

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"

else:

for filename in sys.argv[1:]:

ReadFile(filename)

执行结果如下:

$ python cat.py --version

Version 2.7.3

$ python cat.py --help

Any number of files can be specified.

Options include:

--version : Prints the version number

--help : Display this help

$ python cat.py test_argv.py

#!/usr/bin/env python

#Filename:test_argv.py

import sys

print 'The command line arguments are:'

for i in sys.argv:

print i

注:若打开文件方式为f=open("filename","r")会出错。filename 路径不能加双引号

Traceback (most recent call last):

File "cat.py", line 32, in ReadFile(filename)

File "cat.py", line 5, in ReadFile

f=open("filename", "r")

IOError: [Errno 2] No such file or directory: 'filename'

python中argv的使用_python中使用sys.argv命令行参数相关推荐

  1. python中的命令行参数_python学习笔记6:命令行参数

    1. 使用步骤 使用步骤如下: # 导入模块 import argparse # 获取parser, description文本会显示在help信息中 parser = argparse.Argume ...

  2. python编写命令行框架_python的pytest框架之命令行参数详解(上)

    前言 pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作.pytest提供了丰富的功能,包括assert重写,第三方插件,以及其他测试工具无法比拟的fixtur ...

  3. 命令行参数python sys模块_python教程--sys模块--命令行参数

    例14.1 使用sys.argv #!/usr/bin/python # Filename: cat.py import sys def readfile(filename): '''Print a ...

  4. 在c语言中命令行参数是什么,C语言命令行参数

    这是可能在命令行中的一些值传递给C程序执行.特别是从参数传入,而不是外界硬编码写入这些值到代码控制程序中,这些值被称为命令行参数,很多时候,它们对程序很重要. 命令行参数使用main()函数的参数,其 ...

  5. python之CWD与命令行参数

    一些变量 当前工作路径(CWD) os.getcwd可以获取脚本启动目录, 许多文件工具隐式地使用该变量. 命令行参数 sys,argv可以获取在命令行键入的启动参数,将其作为脚本的输入. shell ...

  6. python main传参args_python argh / argparse:我如何传递一个列表作为命令行参数?

    python argh / argparse:我如何传递一个列表作为命令行参数? 我想使用argh库将参数列表传递给python脚本. 可以采取如下input的东西: ./my_script.py m ...

  7. python argparse模块详解_python中argparse模块用法实例详解

    本文实例讲述了python中argparse模块用法.分享给大家供大家参考.具体分析如下: 平常在写命令行工具的时候,经常会带参数,所以用python中的argparse来实现. # -*- codi ...

  8. python中parse是什么_Python中optparse模块使用浅析

    最近遇到一个问题,是指定参数来运行某个特定的进程,这很类似Linux中一些命令的参数了,比如ls -a,为什么加上-a选项会响应.optparse模块实现的也是类似的功能,它是为脚本传递命令参数. 使 ...

  9. Python中最好用的命令行参数解析工具

    Python 做为一个脚本语言,可以很方便地写各种工具.当你在服务端要运行一个工具或服务时,输入参数似乎是一种硬需(当然你也可以通过配置文件来实现). 如果要以命令行执行,那你需要解析一个命令行参数解 ...

最新文章

  1. 【Web】让你的web页面滚动更有趣
  2. 硅谷程序员佛系养生法:我不修bug, 谁修bug
  3. 配置SQL Server 2012 AlwaysOn ——step1 建立AD域及DNS配置
  4. 深圳本次核酸检普筛怎么将个人信息和结果对应上??
  5. kotlin 覆盖属性_Kotlin程序| 方法覆盖的示例
  6. 28岁成中科院课题组长,最近他接连在Nature和Science发文
  7. esp32的GPIO操作
  8. Myeclipse项目加入maven支持
  9. 林子雨《大数据技术原理与应用》第五讲——NoSQL数据库
  10. 【从0开始音乐demo的制作:预计耗时15小时(一)】项目创建和Vue 3.x vue-cli 的选项问题
  11. web-天下武功唯快不破
  12. 程序员数学(4)--几何图形初步
  13. 风变python基础语法_风变编程python (基础语法爬虫精进)
  14. Android Jetpack之DataBinding+ViewModel+LiveData+Room
  15. 20181225股市复盘
  16. CTF|pwn栈溢出入门题level3解题思路及个人总结
  17. ENSP中PC机如何从DHCP服务器上自动获取固定的IP地址
  18. gazebo添加末端六维力传感器
  19. NOIp2016 题解
  20. 西安科技大学计算机院复试,2014年西安科技大学计算机学院考研复试细则

热门文章

  1. 超链接的hideFocus属性
  2. 记录下重装xp系统的坑
  3. 发明专利申请流程资料及条件
  4. 苹果CMSV10采集参数设置教程
  5. 你真的了解java吗?java总结八
  6. html css前端框架,14个最佳的HTML/CSS设计和开发框架
  7. 输出月份英文名(函数)
  8. 赚钱了App 设置闪图头像
  9. 无需进行滤波后处理,利用循环推断算法实现歌唱语音分离
  10. CloudComparePCL 移动最小二乘法(MLS)