可爱的python_《可爱的Python》读书笔记
先用后學(xué),快速獲得體驗(yàn),然后尋求理論支持。
小白根據(jù)已有的體驗(yàn),對PyCDC的軟件需求進(jìn)行了進(jìn)一步完善。
將以往驗(yàn)證想法的代碼,變成可以方便使用的功能,讓它可以重復(fù)在不同應(yīng)用環(huán)境中使用。小白想象著自個(gè)兒的PyCDC可以像普通的命令行工具一樣來使用。
行者提出“可以使用getopt.getopt()優(yōu)化當(dāng)前功能函式”
#?-*-?coding:?utf-8?-*-import?osimport?sysimport?getopt??CDROM=?'E:\\'def?cdWalker(cdrom,cdcfile):export=?""for?root,?dirs,?filesin?os.walk(cdrom):export+=?"\n?%s;%s;%s"?%?(root,dirs,files)open(cdcfile,'w').write(export)#運(yùn)行命令行工具的幫助提示def?usage():print('Usage:python?%s?-e?filename'?%?sys.argv[0])?try:opts,?args=?getopt.getopt(sys.argv[1:],'e:')#內(nèi)有輸入?yún)?shù)將顯示幫助提示,并退出程序if?len(opts)==?0:usage()sys.exit()for?opt,?argin?opts:if?opt==?'-e':cdWalker(CDROM,?arg)print("記錄光盤信息到?%s"?%?arg)else:usage()sys.exit()except?getopt.GetoptError:usage()sys.exit()
運(yùn)行效果:C:\>python?pycdc.pywUsage:python?pycdc.pyw?-e?filenameC:\>python?pycdc.pyw?-etest.txt記錄光盤信息到test.txt
查看test.txt內(nèi)容如下:
E:\;['EFI', 'images', 'isolinux', '[BOOT]'];['.discinfo', '.treeinfo', 'CentOS_BuildTag', 'EULA', 'GPL', 'RELEASE-NOTES-en-US.html', 'RPM-GPG-KEY-CentOS-6', 'RPM-GPG-KEY-CentOS-Debug-6', 'RPM-GPG-KEY-CentOS-Security-6', 'RPM-GPG-KEY-CentOS-Testing-6', 'TRANS.TBL']
E:\EFI;['BOOT'];['TRANS.TBL']
E:1\EFI\BOOT;[];['BOOTX64.conf', 'BOOTX64.efi', 'splash.xpm.gz', 'TRANS.TBL']
E:\images;['pxeboot'];['efiboot.img', 'efidisk.img', 'install.img', 'TRANS.TBL']
E:\images\pxeboot;[];['initrd.img', 'TRANS.TBL', 'vmlinuz']
E:\isolinux;[];['boot.cat', 'boot.msg', 'grub.conf', 'initrd.img', 'isolinux.bin', 'isolinux.cfg', 'memtest', 'splash.jpg', 'TRANS.TBL', 'vesamenu.c32', 'vmlinuz']
E:\[BOOT];[];['1-Boot-NoEmul.img', '2-Boot-NoEmul.img']
小白雖然不是非常明白getopt的使用,也還是依葫蘆畫瓢寫了出來,基本實(shí)現(xiàn)了想要的功能。
總結(jié):今天學(xué)習(xí)了使用簡單的getopt實(shí)現(xiàn)基本的命令行工具,使用了try...except處理異常,使得程序變得更方便使用
總結(jié)
以上是生活随笔為你收集整理的可爱的python_《可爱的Python》读书笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python算闰年和平年的天数_Pyth
- 下一篇: websocket python爬虫_p