MyEyes

Logging my life

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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()函数用来检验给出的路径是否真地存在。



posted on 2011-10-25 16:11  MyEyes  阅读(339)  评论(0编辑  收藏  举报