Python文件去除注釋的方法
本文實例講述了Python文件去除注釋的方法。分享給大家供大家參考。具體實現(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文件的注釋,并生成拷貝與指定目的文件夾
希望本文所述對大家的Python程序設(shè)計有所幫助。
相關(guān)文章
Python 安裝setuptools和pip工具操作方法(必看)
下面小編就為大家?guī)硪黄狿ython 安裝setuptools和pip工具操作方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
python?opencv背景減去法摳圖實現(xiàn)示例
這篇文章主要為大家介紹了python?opencv背景減去法摳圖實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
入門tensorflow教程之TensorBoard可視化模型訓(xùn)練
在本篇文章中,主要介紹 了TensorBoard 的基礎(chǔ)知識,并了解如何可視化訓(xùn)練模型中的一些基本信息,希望對大家的TensorBoard可視化模型訓(xùn)練有所幫助2021-08-08
淺談Python使用Bottle來提供一個簡單的web服務(wù)
這篇文章主要介紹了淺談Python使用Bottle來提供一個簡單的web服務(wù),具有一定借鑒價值,需要的朋友可以參考下2017-12-12
Python3標(biāo)準(zhǔn)庫之threading進(jìn)程中管理并發(fā)操作方法
這篇文章主要介紹了Python3標(biāo)準(zhǔn)庫之threading進(jìn)程中管理并發(fā)操作方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
利用Python實現(xiàn)一個可定制風(fēng)格的繪圖系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了如何基于Python實現(xiàn)一個可定制風(fēng)格的繪圖系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解下2023-09-09
在Python的Flask框架下使用sqlalchemy庫的簡單教程
這篇文章主要介紹了在Python的Flask框架下使用sqlalchemy庫的簡單教程,用來簡潔地連接與操作數(shù)據(jù)庫,需要的朋友可以參考下2015-04-04
python實現(xiàn)將漢字轉(zhuǎn)換成漢語拼音的庫
這篇文章主要介紹了python實現(xiàn)將漢字轉(zhuǎn)換成漢語拼音的庫,涉及Python調(diào)用word.data字段實現(xiàn)將漢字轉(zhuǎn)換成拼音的功能,非常具有實用價值,需要的朋友可以參考下2015-05-05

