QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2227|回复: 0
打印 上一主题 下一主题

删除文件注释

[复制链接]
字体大小: 正常 放大

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。. E# m- F$ ~8 n4 W
例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])
    8 g1 A: W! C3 l\" ]- @: w/ E. W% q
复制代码
  1. # 删除所有注释
    ; `) V  o3 q2 \7 v
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):4 Q4 L% P2 i' V- v+ {
  3.     text=""
    / ^* c\" G/ y/ e/ J9 S
  4.     try:
    \" {7 x4 j) a+ t0 r\" @
  5.         with open(file,encoding="utf-8") as f:
    + K! O, [/ c% d$ h. z
  6.             lines=f.readlines()
    ! y' P. S. i) |' i9 y! H
  7.     except Exception as e:- b1 T* G+ o. x# }6 D# M
  8.         print("decode failed",file), c\" H5 {6 a) ^\" t6 o/ j1 z
  9.         return$ _; ]& X% o5 c
  10.     for i in range(len(lines)):
    * J; I\" F! |$ W
  11.         index=lines[i].find(line_comm)( p* g6 o( K' d1 z) j; N9 S8 D
  12.         if(index>=0):
    ' y0 _7 U& T& a  D
  13.             lstr=lines[i][:index]7 N6 P, ~: {% a# N# J9 Q( U
  14.         else:! J4 U% s; Y7 I2 {! e
  15.             lstr=lines[i].rstrip()9 N- A, p( H0 C8 t) t
  16.         if(len(lstr.strip())>0):9 C5 A6 }4 Z( F; N# ?
  17.             text+=lstr+'\n'# w  p) u8 v9 e\" {
  18.         elif(text[-2:]=='\\\n'):! M2 n: `) L0 s7 ~# r$ h
  19.             text+='\n'\" r/ v+ x: E: K3 v
  20.     index_start=00 L- H/ ?( b: H
  21.     text_out=""/ u1 h7 a: v. J! Q: y6 G
  22.     while True:( g- @$ R$ x8 E6 C, L$ l- O9 \
  23.         index=text.find(blok_comm[0],index_start)
    ! ]+ K: C$ E% X( o5 K. W! p
  24.         index_end=text.find(blok_comm[1],index)! T\" c8 T' ?5 \3 G& d
  25.         if(index>=0 and index_end>index):: H: m; r4 f; k+ Q\" ~
  26.             text_out+= text[index_start:index]
    % ?7 M! w* M, E5 \& O
  27.             index_start=index_end+len(blok_comm[1])
    ; O6 h- E' ]! ~- s( W! B
  28.         else:. H0 S5 s; n2 }. Q4 U\" m. o3 ~
  29.             text_out+=text[index_start:]8 P: u. ~, a3 G: j$ P! t. E
  30.             break
    ! ?5 n- z# x1 l
  31.     with open(file,mode="w+",encoding="utf-8") as f:
    8 d( P4 e8 v, q
  32.         f.write(text_out), x4 q: l* I$ N7 X\" A# n
  33.         ( x% A* ?5 K, F; |! P
复制代码

2 g, O7 @4 y1 R6 S( [' n/ V0 t
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-7-18 17:14 , Processed in 0.668384 second(s), 51 queries .

回顶部