QQ登录

只需要一步,快速开始

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

删除文件注释

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

1186

主题

4

听众

2923

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。
+ a+ s) s' d& c. b; |# q% `' v例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])
    # Y9 ]- j3 m! Q' ]$ i7 u3 m* x
复制代码
  1. # 删除所有注释' ]2 S\" H9 `6 M- y/ J1 I0 R
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):
    / Y. T5 K3 z: Z4 h1 M7 i
  3.     text=""
    : J3 R. k8 i9 p6 r+ k- Y\" w
  4.     try:
    % R% ^. r5 i# P7 i
  5.         with open(file,encoding="utf-8") as f:
    & a8 L2 p- Y) X5 G( u% b  e\" K0 ]
  6.             lines=f.readlines(); {8 S- v- u0 E
  7.     except Exception as e:, a; z# w6 ~( x7 ]2 s- H1 B
  8.         print("decode failed",file)
    / {1 C\" n3 q- x: Z
  9.         return& y\" U2 ?+ _) }0 X
  10.     for i in range(len(lines)):
    6 ?! ?3 b2 m$ J3 S! B* l0 u/ d
  11.         index=lines[i].find(line_comm)' d* G. Z- y9 [6 j* X5 y5 v, Z7 ~4 P
  12.         if(index>=0):9 O8 B$ C( n5 T3 g: J% o! l( t
  13.             lstr=lines[i][:index]
    % b% y1 b& i5 S( d4 J\" U
  14.         else:3 ]  F$ i4 f. O  ]! J* `8 y2 d
  15.             lstr=lines[i].rstrip()3 d; a5 A% b6 C- v
  16.         if(len(lstr.strip())>0):$ o7 _3 K. H$ C+ x  z: [5 B# a
  17.             text+=lstr+'\n'6 o# s1 G7 ^0 }) H( c
  18.         elif(text[-2:]=='\\\n'):
    ! I5 h: _. i' B6 m: d  Q5 `\" o$ l
  19.             text+='\n'# s; b. A5 a% w
  20.     index_start=05 B\" Q3 Y9 D& E1 |! _
  21.     text_out=""
    , E) m! z. K8 z$ e# }
  22.     while True:3 c* }3 R- F( e. d; r
  23.         index=text.find(blok_comm[0],index_start): r) v% h: T+ P\" i' |5 n% T
  24.         index_end=text.find(blok_comm[1],index)
    4 W- l\" R* M+ |2 D* |
  25.         if(index>=0 and index_end>index):
    0 H9 e2 E' F5 ?7 P: Z4 L) j
  26.             text_out+= text[index_start:index]$ L% @7 A' }  ^5 U\" P
  27.             index_start=index_end+len(blok_comm[1])* l7 i% Z2 P% u& U
  28.         else:
    % z5 x\" O! s& ]  H) a
  29.             text_out+=text[index_start:]
    * U6 O  n; [% H, K% {4 O& B
  30.             break
    , y2 H/ H, o0 R( B) c! i, w
  31.     with open(file,mode="w+",encoding="utf-8") as f:
    ! `3 w7 Z0 m. E) j) p5 t- C, ^1 ]
  32.         f.write(text_out)- u/ D; I) `$ x$ c- R9 R; E
  33.         
    $ b7 [( d4 z! S' W& }
复制代码
% {  ?9 ^$ f' ^) q
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-4-18 13:07 , Processed in 0.445075 second(s), 51 queries .

回顶部