Python文件去除注釋的方法
本文實(shí)例講述了Python文件去除注釋的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
#!/usr/bin/python # -*- coding: GBK -*- #writer:xmnathan #py文件去注釋 import re import os import ConfigParser Python='CleanNote' def ReadIni(path,section,option):#文件路徑,章節(jié),關(guān)鍵詞 #讀取ini cf=ConfigParser.ConfigParser() cf.read(path) value=cf.get(section,option)#如果用getint()則直接讀取該數(shù)據(jù)類型為整數(shù) return value def IsPassLine(strLine): #是否是可以忽略的行 #可忽略行的正則表達(dá)式列表 RegularExpressions=["""/'.*#.*/'""","""/".*#.*/"""", """/'/'/'.*#.*/'/'/'""","""/"/"/".*#.*/"/"/""""] for One in RegularExpressions: zz=re.compile(One) if re.search(zz,strLine)==None: continue else: return True#有匹配 則忽略 return False def ReadFile(FileName): #讀取并處理文件 fobj=open(FileName,'r') AllLines=fobj.readlines() fobj.close() NewStr='' LogStr='/n%20s/n'%(FileName.split('//')[-1])#輸出的日志 nline=0 for eachiline in AllLines: index=eachline.find('#')#獲取帶注釋句‘#'的位置索引 if index==-1 or nline<3 or IsPassLine(eachline): if eachiline.strip()!='':#排除純空的行 NewStr=NewStr+eachiline else: if index!=0: NewStr=NewStr+eachiline[:index]+'/n'#截取后面的注釋部分 LogStr+="ChangeLine: %s/t%s"%(nline,eachline[index:]) nline+=1 return NewStr,LogStr def MakeCleanFile(SrcPath,DescPath,FileList): fLog=open(DescPath+'//'+'CleanNoteLog.txt','w') for File in FileList: curStr,LogStr=ReadFile(SrcPath+'//'+File) fNew=open(DescPath+'//'+File,'w') fNew=write(curStr) fNew.close() fLog.write(LogStr) fLog.close() def Main(): #從ini獲取源文件夾及目標(biāo)文件夾路徑 IniPath=os.getcwd()+'//'+PtName+'.ini' SrcPath=ReadIni(IniPath,PyName,'SrcPath')#源文件夾 DescPath=ReadIni(IniPath,PyName,'DescPath')#目的文件夾 #如果目的文件夾不存在,創(chuàng)建之 if not os.path.exists(DescPath): os.makedirs(DescPath) FileList=[] for files in os.walk(SrcPath): for FileName in files[2]: if FileName.split('.')[-1]=='py': FileList.append(FileName) MakeCleanFile(SrcPath,DescPath,FileList) if __name__=='__main__': Main() print '>>>End<<<' os.system('pause')
ps:配置文件CleanNote.ini的格式
[CleanNote] SrcPath=E:/test DescPath=E:/test/newfiles
批量去除指定源文件夾中的py文件的注釋,并生成拷貝與指定目的文件夾
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
- python中的三種注釋方法
- Python爬蟲庫BeautifulSoup獲取對(duì)象(標(biāo)簽)名,屬性,內(nèi)容,注釋
- Python中的多行注釋文檔編寫風(fēng)格匯總
- Python中注釋(多行注釋和單行注釋)的用法實(shí)例
- Python實(shí)現(xiàn)多行注釋的另類方法
- Python注釋詳解
- VSCode中自動(dòng)為Python文件添加頭部注釋
- python實(shí)現(xiàn)坦克大戰(zhàn)游戲 附詳細(xì)注釋
- python3新特性函數(shù)注釋Function Annotations用法分析
- Python 注釋:解釋和優(yōu)化代碼可讀性
相關(guān)文章
Python 安裝setuptools和pip工具操作方法(必看)
下面小編就為大家?guī)硪黄狿ython 安裝setuptools和pip工具操作方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05python?opencv背景減去法摳圖實(shí)現(xiàn)示例
這篇文章主要為大家介紹了python?opencv背景減去法摳圖實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05入門tensorflow教程之TensorBoard可視化模型訓(xùn)練
在本篇文章中,主要介紹 了TensorBoard 的基礎(chǔ)知識(shí),并了解如何可視化訓(xùn)練模型中的一些基本信息,希望對(duì)大家的TensorBoard可視化模型訓(xùn)練有所幫助2021-08-08淺談Python使用Bottle來提供一個(gè)簡(jiǎn)單的web服務(wù)
這篇文章主要介紹了淺談Python使用Bottle來提供一個(gè)簡(jiǎn)單的web服務(wù),具有一定借鑒價(jià)值,需要的朋友可以參考下2017-12-12Python3標(biāo)準(zhǔn)庫之threading進(jìn)程中管理并發(fā)操作方法
這篇文章主要介紹了Python3標(biāo)準(zhǔn)庫之threading進(jìn)程中管理并發(fā)操作方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03利用Python實(shí)現(xiàn)一個(gè)可定制風(fēng)格的繪圖系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)一個(gè)可定制風(fēng)格的繪圖系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解下2023-09-09在Python的Flask框架下使用sqlalchemy庫的簡(jiǎn)單教程
這篇文章主要介紹了在Python的Flask框架下使用sqlalchemy庫的簡(jiǎn)單教程,用來簡(jiǎn)潔地連接與操作數(shù)據(jù)庫,需要的朋友可以參考下2015-04-04python實(shí)現(xiàn)將漢字轉(zhuǎn)換成漢語拼音的庫
這篇文章主要介紹了python實(shí)現(xiàn)將漢字轉(zhuǎn)換成漢語拼音的庫,涉及Python調(diào)用word.data字段實(shí)現(xiàn)將漢字轉(zhuǎn)換成拼音的功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05