QQ登录

只需要一步,快速开始

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

删除文件注释

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

1192

主题

4

听众

2946

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。& t2 V3 ?) L; C+ f3 W
例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])
    3 Z- L\" E; [: ]4 y
复制代码
  1. # 删除所有注释2 }9 p' K7 l$ Y6 {2 `
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):
    * m: j1 y9 ^\" Q* @: W
  3.     text=""  A# _8 R) y0 h) ?( Z' R5 d
  4.     try:
    2 h1 S4 h* x+ p9 O\" n9 z, v
  5.         with open(file,encoding="utf-8") as f:
    * w  l4 S7 @) c0 r
  6.             lines=f.readlines()
    5 \/ o% E7 Y% ?: V- z/ B5 ?
  7.     except Exception as e:
    - |, w. v1 e& }7 a  j
  8.         print("decode failed",file)' X( {; x9 t/ A7 }( L
  9.         return
    ; E1 H7 S3 P4 k- t9 F& F
  10.     for i in range(len(lines)):
    9 ^: h. B# y' c& D\" G1 @; d+ n0 X
  11.         index=lines[i].find(line_comm)
    6 G. p\" B\" I5 c# V+ ]6 W9 U\" h
  12.         if(index>=0):
    $ h- W# p8 H8 f
  13.             lstr=lines[i][:index]
    0 z\" C8 l% ~4 ~3 p% R/ {
  14.         else:
    2 _/ I1 d! x5 Z% P+ n: m$ b
  15.             lstr=lines[i].rstrip()
    4 E* k  q: z+ ]8 R8 @
  16.         if(len(lstr.strip())>0):1 ^# M; {4 G6 R3 B
  17.             text+=lstr+'\n'9 h* F' p8 k8 p2 X
  18.         elif(text[-2:]=='\\\n'):. U  o* h+ I- c
  19.             text+='\n'
    & H8 q6 P$ V7 G\" G
  20.     index_start=0
    3 k/ S\" Q  t- F0 Q
  21.     text_out="", @) _. P) D+ B' T4 R, P/ A
  22.     while True:& O- }. O  t0 `9 {) s7 ]0 Q2 Z
  23.         index=text.find(blok_comm[0],index_start)
    0 i0 t- @- t2 _- `. p- ?2 B) B- l. @
  24.         index_end=text.find(blok_comm[1],index)
    1 n# n3 e0 ^( i5 D
  25.         if(index>=0 and index_end>index):$ n1 b! I/ {* I8 |; s* k\" p/ y
  26.             text_out+= text[index_start:index]\" r. J+ q\" Y5 h
  27.             index_start=index_end+len(blok_comm[1])( V& y: I$ a3 j6 w4 f
  28.         else:1 y' {) `( f\" n0 e- s& x! b& H
  29.             text_out+=text[index_start:]
    7 G7 |( |$ W( Y/ n; B/ D
  30.             break
    . r% H2 e% g! W6 q$ o+ k' c/ E
  31.     with open(file,mode="w+",encoding="utf-8") as f:
    ! l- j3 \2 u9 A\" z1 J6 Y
  32.         f.write(text_out)3 u4 F1 R4 a6 @& t# @
  33.         3 z- a% c, R! N6 `5 W2 x
复制代码
7 ?( W1 ^( m( q) x# l1 J" 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-9-1 18:04 , Processed in 0.755248 second(s), 50 queries .

回顶部