介绍
利用Python脚本过滤文件中注释的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
确保对模块,函数,方法和行内注释使用正确的风格,Python中的注释有单行注释和多行注释。如果希望去除文件中所有注释,如何做呢?
<强> Python中的注释:强>
Python中单行注释以#开头,例如::
#,这是一个注释 打印(“你好,世界!“)
多行注释用三个单引号& # 39;& # 39;& # 39;或者三个双引号“““将注释括起来,例如:
# !/usr/bin/python3 & # 39;& # 39;& # 39; 这是多行注释,用三个单引号 这是多行注释,用三个单引号, 这是多行注释,用三个单引号 & # 39;& # 39;& # 39; 打印(“你好,世界!“)
<强>使用Python脚本快速去除文件中的注释:强>
# !/usr/bin/python #,- *安康;编码:,GBK - *安康; #作者:xmnathan # py文件去注释, import re import os import ConfigParser Python=& # 39; CleanNote& # 39; def ReadIni(路径、部分选项):#文件路径,章节,关键词, #读才能取ini cf才能=ConfigParser.ConfigParser (), cf.read才能(路径), 价值才能=https://www.yisu.com/zixun/cf.get(部分,选项)#如果用getint()则直接读取该数据类型为整数 返回值 def IsPassLine (strLine): #是否是可以忽略的行 #可忽略行的正则表达式列表 RegularExpressions=[" "/* # */!薄啊?“”“/薄? # */薄啊薄? ”“”/'/'/'。* # *///薄啊?“”“/??薄? #。*/"/" " ") 一个在RegularExpressions: zz=re.compile(一个) 如果re.search (zz, strLine)==没有: 继续 其他: 还真#有匹配则忽略 返回假 def ReadFile(文件名): #读取并处理文件 fobj=开放(文件名,“r”) AllLines=fobj.readlines () fobj.close () NewStr=" LogStr=/n % 20年代/n % (FileName.split(“//?[1]) #输出的日志 在线=0 在AllLines eachiline: 指数=eachline.find(“#”) #获取带注释句“#”的位置索引 如果指数==1或在线<3或IsPassLine (eachline): 如果eachiline.strip() !=": #排除纯空的行 NewStr=NewStr + eachiline 其他: 如果指数!=0: NewStr=NewStr + eachiline(指数):+/n的#截取后面的注释部分 LogStr +=癈hangeLine: % s/t % s %(在线,eachline(指数:)) 在线+=1 返回NewStr LogStr def MakeCleanFile (SrcPath DescPath,文件列表): 鞭打=开放(DescPath +“//?“CleanNoteLog.txt”,“w”) 文件的文件列表: curStr LogStr=ReadFile (SrcPath +‘//?文件) fNew=开放(DescPath +‘//?文件,“w”) fNew=写(curStr) fNew.close () fLog.write (LogStr) fLog.close () def Main (): #从ini获取源文件夹及目标文件夹路径 IniPath=os.getcwd () +‘//? PtName + . ini的 SrcPath=ReadIni (IniPath、PyName SrcPath) #源文件夹 DescPath=ReadIni (IniPath、PyName DescPath) #目的文件夹 #如果目的文件夹不存在,创建之 如果不是os.path.exists (DescPath): os.makedirs (DescPath) 文件列表=[] 文件在os.walk (SrcPath): 文件名的文件[2]: 如果FileName.split (“。”) [1]==皃y”: FileList.append(文件名) MakeCleanFile (SrcPath DescPath文件列表) if __name__==癬_main__”: Main () 打印“>> <<结束” os.system(“暂停”)
ps: <强>配置文件CleanNote。ini的格式强>
[CleanNote], SrcPath=E:/test DescPath=E:/测试/newfile中
批量去除指定源文件夹中的py文件的注释,并生成拷贝与指定目的文件夹
感谢各位的阅读!看完上述内容,你们对利用Python脚本过滤文件中注释的方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注行业资讯频道。