如何在Python中识别三引号注释并提取其中的多行HTML代码?
提取Python文件中三引号包裹的多行HTML注释内容
我来帮你搞定这个问题!要从Python文件里提取被三引号(""")包裹的注释块内容,其实可以通过标记状态的方式来实现——用一个标志位记录是否已经进入注释块,然后逐行读取并收集内容,直到遇到闭合的三引号为止。
下面是能正常运行的完整代码:
def extract_triple_quote_comment(file_path): comment_block = [] in_comment = False # 标志位:是否处于三引号注释块内 with open(file_path, "r") as file: for line in file: stripped_line = line.strip() # 判断是否是注释块的起始或结束 if stripped_line.startswith('"""'): if in_comment: # 遇到闭合的三引号,结束收集 break else: # 遇到起始的三引号,开始收集 in_comment = True # 若不需要包含起始的三引号行,就用continue跳过 continue # 如果处于注释块内,就收集当前行 if in_comment: comment_block.append(line.rstrip('\n')) # 去掉换行符,保持内容整洁 # 把收集到的行拼接成完整的字符串 return '\n'.join(comment_block) # 使用示例 if __name__ == "__main__": html_comment = extract_triple_quote_comment("pythonfile.py") print(html_comment)
代码关键点解释:
- 状态标记:用
in_comment布尔变量跟踪是否进入注释块,初始为False。 - 安全文件读取:用
with open语句自动处理文件关闭,避免资源泄漏。 - 起始/结束判断:当遇到以
"""开头的行时,切换in_comment状态——未进入则开启收集,已进入则终止收集。 - 内容收集:处于注释块内时,将每行内容加入列表,最后拼接成完整字符串返回。
如果需要处理多个三引号注释块,或者注释块存在特殊格式(比如"""在行中间),可以调整逻辑,比如收集所有符合条件的块,或者更精准匹配完整的三引号标记。
内容的提问来源于stack exchange,提问作者user6363467
相关产品推荐
相关产品推荐

