1. sys模块
模拟系统的cat命令
#! /apps/android/python2.6/bin/python
#Filename cats
import sys
def readfile(filename): //读取文件内容的方法
f = file(filename)
while True:
line = f.readline()
if len(line) == 0:
break
print line, //最后的,号是为了避免print自动换行。加上了,号就与系统的cat命令执行得出来的是一样的
f.close()
if len(sys.argv) < 2: //如果脚本的输入参数小于2则被视为无任何操作
print 'No action specify'
sys.exit()
if sys.argv[1].startswith('--'):
option = sys.argv[1][2:]
if option == 'version':
print 'version is 4.2'
else:
print 'unknow option'
sys.exit()
else:
for filename in sys.argv[1:]: //可以查看多个文件
readfile(filename)
注:在Python程序运行的时候,即不是在交互模式下,在sys.argv
列表中总是至少有一个项目。它就是当前运行的程序名称,作为sys.argv[0]
(由于Python从0
开始计数,实际上系统将所有python脚本都解析为 $python cats,因此sys.argv[0]就是指脚本本身)。其他的命令行参数在这个项目之后。
2. os模块
主要是为了跨平台,希望脚本不做改动就可以在windows下和linux下都可以执行
下面列出了一些在os
模块中比较有用的部分。它们中的大多数都简单明了。
-
os.name
字符串指示你正在使用的平台。比如对于Windows,它是'nt'
,而对于Linux/Unix用户,它是'posix'
。 -
os.getcwd()
函数得到当前工作目录,即当前Python脚本工作的目录路径。 -
os.getenv()
和os.putenv()
函数分别用来读取和设置环境变量。 -
os.listdir()
返回指定目录下的所有文件和目录名。 -
os.remove()
函数用来删除一个文件。 -
os.system()
函数用来运行shell命令。 -
os.linesep
字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n'
,Linux使用'\n'
而Mac使用'\r'
。 -
os.path.split()
函数返回一个路径的目录名和文件名。>>> os.path.split('/home/swaroop/byte/code/poem.txt')
('/home/swaroop/byte/code', 'poem.txt') -
os.path.isfile()
和os.path.isdir()
函数分别检验给出的路径是一个文件还是目录。类似地,os.path.existe()
函数用来检验给出的路径是否真地存在。