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

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,python,命令行参数)