QQ登录

只需要一步,快速开始

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

删除文件注释

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

1186

主题

4

听众

2923

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。. V$ a0 `& K: q9 [' v4 k( ^/ X! |* b
例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"]): Q* d3 P% w3 J& d/ k
复制代码
  1. # 删除所有注释% Y& }' s: B3 z) [+ n9 c- S
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):
    - v% N# O1 p1 L5 o, Y
  3.     text="") m+ \, v* v0 G1 m: F- F
  4.     try:& g8 S, y: c$ T, Q+ P& Q
  5.         with open(file,encoding="utf-8") as f:
    % S% w8 l  i3 u0 w
  6.             lines=f.readlines()
    2 j( ~% y# l8 V; Y( C
  7.     except Exception as e:
    / i; {( r3 m3 h1 A/ `, b/ e
  8.         print("decode failed",file)3 k& Q# I* q1 @\" ~/ X
  9.         return5 _7 C: i8 K  j4 d: A0 U
  10.     for i in range(len(lines)):( |\" p$ u2 _( |& a1 J% u7 `
  11.         index=lines[i].find(line_comm)0 N- N; v\" W1 u8 r0 c- [! D\" ^
  12.         if(index>=0):$ G8 K: n9 l- ^( B/ b! d& F& E
  13.             lstr=lines[i][:index]
    # b# d: l5 o$ K' {6 H# K0 J! a
  14.         else:  A) P! _- L, Z( r0 t
  15.             lstr=lines[i].rstrip()7 N7 z: Q% \\" `( W! c5 i' A
  16.         if(len(lstr.strip())>0):
    - S8 @$ \+ p$ o( e( W- Y
  17.             text+=lstr+'\n'
    % H: A6 ~, f0 q6 s: _1 x; L! ?
  18.         elif(text[-2:]=='\\\n'):( G0 d: p- A1 h: x
  19.             text+='\n'
    2 u$ G9 |4 m  {8 O% c
  20.     index_start=08 l  s/ z$ }0 O0 N
  21.     text_out=""0 I7 s. _+ `$ N
  22.     while True:
    & P+ r+ B$ J0 W9 u
  23.         index=text.find(blok_comm[0],index_start)
    3 R0 k, ?3 b; ?' \* v
  24.         index_end=text.find(blok_comm[1],index)5 f+ g9 @' b3 l) S  @( N
  25.         if(index>=0 and index_end>index):
    # R, J5 `9 f5 g2 [7 Y
  26.             text_out+= text[index_start:index]
    2 B: V% |! ^$ |8 H$ n
  27.             index_start=index_end+len(blok_comm[1]). }+ R, [% I# Q
  28.         else:$ s( c; F( D' u, i7 D  y
  29.             text_out+=text[index_start:]8 p* `) ]1 s  _) v
  30.             break3 Y8 p\" L- V( Y
  31.     with open(file,mode="w+",encoding="utf-8") as f:) }3 y# z) B9 e# C; t  }
  32.         f.write(text_out): k6 m- z; G+ F4 I2 c
  33.         3 X. F& P; o! j& F4 x% k% f8 E
复制代码
4 O) q. _, l1 u& C/ 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 06:57 , Processed in 0.279217 second(s), 50 queries .

回顶部