python 命令行处理

python 命令行处理

# coding=utf-8
'''Lovely Python -3 PyDay 
     PyCDC v0.3
     @see:http:##www.woodpecker.org.cn#diveintopython#scripts_and_streams#command_line_arguments.html 
'''
import os,sys
import getopt       #导入getopt模块
CDROM = '#media#cdrom0'
def cdWalker(cdrom,cdcfile):
    export = ""
    for root, dirs, files in os.walk(cdrom):
       export+="\n %s;%s;%s" % (root,dirs,files)   ###这里的+=其实没有用join方法的效率高
       open(cdcfile, 'w').write(export)                ###open加上'w'有新建的效果
def usage():
   print '''PyCDC 使用方式:
       python cdays-3-exercise-1.py -d cdc -k 中国火
       #搜索 cdc 目录中的光盘信息,寻找有“中国火”字样的文件或是目录,在哪张光盘中
           '''
try:
   opts, args = getopt.getopt(sys.argv[1:], 'hd:e:k:') ###只有h后不加:,因为其后没其他参数
except getopt.GetoptError:
   usage()
   sys.exit()

if len(opts) == 0:
   usage()
   sys.exit()
c_path = ''
for opt, arg in opts:  ###arg由这个opts中读取出来,不明白上面的args有什么用处
   if opt in ('-h', '--help'):
      usage()
      sys.exit()
   elif opt == '-e':
           #判别sys.argv[2]中是否有目录,以便进行自动创建
           #cdWalker(CDROM, arg)
      print "记录光盘信息到 %s" % arg
   elif opt == '-d':
      c_path = arg
   elif opt == '-k':
      if not c_path: ###当c_path为'',即未被赋值时会进入下面的命令
        usage()
        sys.exit()
           #进行文件搜索

 

posted @ 2012-04-19 22:11  wangkangluo1  阅读(730)  评论(0编辑  收藏  举报