将python代码和注释分离的方法_python

下面为大家分享一篇将python代码和注释分离的方法,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧

python的注释方式和C语言、C++、java有所不同

python语言中,使用‘#’ 来进行注释,其次还有使用 三个引号来进行注释

本文的程序将把 python 中 使用‘#’ 号 好 三个引号的注释分离出来, 当然也能再次合并回去

有需求的小伙伴可以来围观了

立即学习“Python免费学习笔记(深入)”;

#!/usr/bin/python#coding=utf-8import osimport sysreload(sys)sys.setdefaultencoding('utf-8')class Comment_Filter:#初始化参数def __init__(self):self.file=Noneself.commentfile=Noneself.noncommentline=Noneself.resotrefile=Noneself.Commentline=[]self.NonCommentline=[]self.globalcomment=0#判断是不是注释行def is_Comment_Line(self,line,i):if i > 2 and line.startswith("#"):return 1if line.startswith("'''") and self.globalcomment==1:self.globalcomment=0return 1if line.startswith("'''") and self.globalcomment==0:self.globalcomment=1return 1return self.globalcomment#保存注释行def save_Comment_Line(self,line,i):self.Commentline.append({"line":line, "line_num":i})#保存代码行def save_NonComment_Line(self,line,i):self.NonCommentline.append({"line":line, "line_num":i})#恢复分离的文件def restore_Org_File(self):filename="output/"+self.filename+"_org.txt"self.resotrefile=open(filename, "w+")for i in range(1,len(self.Commentline)+len(self.NonCommentline)+1):for commentline in self.Commentline:if int(commentline['line_num'])==i:self.resotrefile.write(commentline['line'])for noncommentline in self.NonCommentline:if int(noncommentline['line_num'])==i:self.resotrefile.write(noncommentline['line'])print "已输出到%s" % filenameself.resotrefile.close()#主运行函数def run(self):if not os.path.exists("output"):os.mkdir("output")print "请输入要处理的文件名"input_file_name=raw_input()while len(input_file_name)>1:print "处理文件为%s" % input_file_nameself.file=open(input_file_name)self.filename=input_file_name.split(".")[1]commentfilename="output/"+input_file_name.split(".")[1]+"_comment.txt"self.commentfile=open(commentfilename,"w+")noncommentlinename="output/"+input_file_name.split(".")[1]+"_code.txt"self.noncommentline=open(noncommentlinename,"w+")i = 0while self.file != None:line = self.file.readline()i +=1if not line:print "文件已读完"print "以下是注释内容"for commentline in self.Commentline:print "第%d行: %s" % (commentline['line_num'],commentline['line'])self.commentfile.write(commentline['line'])print "以下是代码内容"for noncommentline in self.NonCommentline:print "第%d行: %s" % (noncommentline['line_num'],noncommentline['line'])self.noncommentline.write(noncommentline['line'])restore=raw_input("是否恢复成原文件:")if restore == 'Y':self.restore_Org_File()self.commentfile.close()self.noncommentline.close()breakif self.is_Comment_Line(line,i):self.save_Comment_Line(line,i)else:self.save_NonComment_Line(line,i)print "请输入文件名"input_file_name=raw_input('if quit,please input Q:')if input_file_name == 'Q':breakif __name__ == '__main__':print '''***************************************** **  Welcome to Spider of baidutieba ** **   Created on 2017-05-03     ** **   @author: Jimy _Fengqi     ** *****************************************'''my_file_pide_filter=Comment_Filter()my_file_pide_filter.run()

登录后复制

本程序已知问题, 不能处理 空格之后在以‘#’ 开头的注释,所有的注释行,必须是顶格写的

以后有时间的话,再重新写一版完整的吧

相关推荐:

Python针对给定字符串求解所有子序列是否为回文序列的方法

以上就是将python代码和注释分离的方法_python的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2263486.html

(0)
上一篇 2025年2月27日 07:38:07
下一篇 2025年2月27日 04:01:09

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python基于百度AI的文字识别的示例

    本篇文章主要介绍了python基于百度ai的文字识别的示例,现在分享给大家,也给大家做个参考。一起过来看看吧 使用百度AI的文字识别库,做出的调用示例,其中filePath是图片的路径,可以自行传入一张带有文字的图片,进行识别。 下载bai…

    2025年2月27日
    200
  • 浅谈python字符串

    python字符串是一种元素为字符的序列类型。因为序列类型是元素被顺序放置的一种数据结构,因此可以通过索引来获取某一个字符,或者指定索引范围来获取一组字符。 >>> ch=’abcde’>>> print…

    编程技术 2025年2月27日
    200
  • python获取文件路径、文件名、后缀名的实例

    下面为大家分享一篇python获取文件路径、文件名、后缀名的实例,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧 实例如下所示: #########start 获取文件路径、文件名、后缀名############def jwkj_g…

    编程技术 2025年2月27日
    200
  • Python实现自定义顺序、排列写入数据到Excel的方法

    这篇文章主要介绍了python实现自定义顺序、排列写入数据到excel的方法,涉及python针对excel文件的数据处理及读写相关操作技巧,需要的朋友可以参考下 本文实例讲述了Python实现自定义顺序、排列写入数据到Excel的方法。分…

    编程技术 2025年2月27日
    200
  • Python 将pdf转成图片的方法

    下面为大家分享一篇python 将pdf转成图片的方法,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧 本篇文章记录如何使用python将pdf文件切分成一张一张图片,包括环境配置、版本兼容问题。 环境配置(mac) 安装Image…

    2025年2月27日
    200
  • 利用python将pdf输出为txt的实例

    下面为大家分享一篇利用python将pdf输出为txt的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧 一个礼拜前一个同学问我这个事情,由于之前在参加华为的比赛,所以赛后看了一下,据说需要用到pdfminer这个包。于是安…

    2025年2月27日
    200
  • Python 循环语句之 while,for语句详解

    下面为大家分享一篇python 循环语句之 while,for语句详解,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧 Python中有两种循环,分别为:for循环和while循环。 for循环可以遍历任何序列的项目,如一个列表或者…

    编程技术 2025年2月27日
    200
  • Python 3.6 读取并操作文件内容

    下面为大家分享一篇python 3.6 读取并操作文件内容的实例,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧 所使用python环境为最新的3.6版本 Python中几种对文件的操作方法: 将A文件复制到B文件中去(保持原来格式…

    编程技术 2025年2月27日
    200
  • Python File readlines() 使用方法

    readlines() 方法用于读取所有行(直到结束符 eof)并返回列表,该列表可以由 python 的 for… in … 结构进行处理,如果碰到结束符 eof 则返回空字符串,需要的朋友可以参考下 概述 rea…

    2025年2月27日
    200
  • 图解Python变量与赋值

    这篇文章主要介绍了图解python变量与赋值,现在分享给大家,也给大家做个参考。一起过来看看吧 Python是一门独特的语言,与C语言有很大区别,初学Python很多萌新表示对变量与赋值不理解,这里就大家介绍一下,需要的朋友可以参考下 Py…

    2025年2月27日 编程技术
    200

发表回复

登录后才能评论