国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

將python代碼和注釋分離的方法

2020-02-22 23:48:11
字體:
供稿:網(wǎng)友

python的注釋方式和C語言、C++、java有所不同

python語言中,使用‘#' 來進(jìn)行注釋,其次還有使用 三個(gè)引號(hào)來進(jìn)行注釋

本文的程序?qū)?python 中 使用‘#' 號(hào) 好 三個(gè)引號(hào)的注釋分離出來, 當(dāng)然也能再次合并回去

有需求的小伙伴可以來圍觀了

#!/usr/bin/python#coding=utf-8import osimport sysreload(sys)sys.setdefaultencoding('utf-8')class Comment_Filter:	#初始化參數(shù)	def __init__(self):		self.file=None		self.commentfile=None		self.noncommentline=None		self.resotrefile=None		self.Commentline=[]		self.NonCommentline=[]		self.globalcomment=0	#判斷是不是注釋行	def is_Comment_Line(self,line,i):		if i > 2 and line.startswith("#"):			return 1		if line.startswith("'''") and self.globalcomment==1:			self.globalcomment=0			return 1		if line.startswith("'''") and self.globalcomment==0:			self.globalcomment=1			return 1		return 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})	#恢復(fù)分離的文件	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" % filename		self.resotrefile.close()	#主運(yùn)行函數(shù)	def run(self):		if not os.path.exists("output"):			os.mkdir("output")		print "請(qǐng)輸入要處理的文件名"		input_file_name=raw_input()		while len(input_file_name)>1:			print "處理文件為%s" % input_file_name			self.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 = 0			while self.file != None:				line = self.file.readline()				i +=1				if not line:					print "文件已讀完"					print "以下是注釋內(nèi)容"					for commentline in self.Commentline:						print "第%d行: %s" % (commentline['line_num'],commentline['line'])						self.commentfile.write(commentline['line'])										print "以下是代碼內(nèi)容"					for noncommentline in self.NonCommentline:						print "第%d行: %s" % (noncommentline['line_num'],noncommentline['line'])						self.noncommentline.write(noncommentline['line'])					restore=raw_input("是否恢復(fù)成原文件:")					if restore == 'Y':						self.restore_Org_File()					self.commentfile.close()					self.noncommentline.close()					break				if self.is_Comment_Line(line,i):					self.save_Comment_Line(line,i)				else:					self.save_NonComment_Line(line,i)			print "請(qǐng)輸入文件名"			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_divide_filter=Comment_Filter()	my_file_divide_filter.run()            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乌兰浩特市| 伊金霍洛旗| 万荣县| 桦川县| 通海县| 抚顺市| 连江县| 布尔津县| 老河口市| 华安县| 临湘市| 新密市| 闽清县| 通河县| 巴林左旗| 无锡市| 昌吉市| 渑池县| 自贡市| 江华| 咸阳市| 沂水县| 香河县| 济宁市| 龙胜| 措美县| 霸州市| 九台市| 贺兰县| 安平县| 长阳| 河北省| 仲巴县| 陆河县| 黎川县| 北辰区| 沙雅县| 佛学| 洞口县| 威海市| 五原县|