python中argv的使用_python中使用sys.argv命令行参数

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

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

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

274a2308e68842fd23963dc35a76c2d4.png

脚本的名称总是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'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值