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
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'