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,sysimport 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() #進行檔案搜尋
完