QQ登录

只需要一步,快速开始

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

删除文件注释

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

1184

主题

4

听众

2916

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。
1 W( R# j; D: X5 N" l例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])0 J4 T! M2 \& l8 i
复制代码
  1. # 删除所有注释
    ! c, K2 Z6 ?3 F5 h* i- y
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):
    : F. p) S/ q( l- T' B, o3 M\" A
  3.     text=""
    4 I8 K) j* h: F( o8 ^# h# p( X5 j
  4.     try:0 X9 b$ R* V6 J
  5.         with open(file,encoding="utf-8") as f:3 |7 y$ q- ~. u2 b3 V: g: V' _
  6.             lines=f.readlines()4 _, ]\" F( N, I, Q0 z  x5 E+ p
  7.     except Exception as e:
    + C; a+ {, k$ P3 u% R
  8.         print("decode failed",file)
    ; N( Q7 j8 @+ B) H# q8 V
  9.         return* g( z+ F  S8 I1 N! @8 v. e( d
  10.     for i in range(len(lines)):
    / d6 X8 ?* ^! F' c. f
  11.         index=lines[i].find(line_comm)
    1 V2 x6 r9 ~0 S, S$ S
  12.         if(index>=0):( s8 e% B! X3 H! x7 m
  13.             lstr=lines[i][:index]5 g$ n( V1 T5 c7 [2 G8 q
  14.         else:
    $ [1 m2 K, x, U1 g
  15.             lstr=lines[i].rstrip()1 m8 f7 j8 K) b3 s1 w: L  e& C
  16.         if(len(lstr.strip())>0):* M' F  U3 U' q1 w% K  l
  17.             text+=lstr+'\n'
    ' {2 ?$ ~# i8 i# \* r
  18.         elif(text[-2:]=='\\\n'):* Q& k6 i2 `. y
  19.             text+='\n'; i7 D/ ^9 b% g* K- g
  20.     index_start=0
    ( l! }+ h4 U4 H, T& S/ D! c
  21.     text_out=""
    1 k9 ~- R' i9 j
  22.     while True:
    - A; E' p0 K$ C' k
  23.         index=text.find(blok_comm[0],index_start)( w3 g+ m  L3 Z- x: S0 i
  24.         index_end=text.find(blok_comm[1],index)
    ; v+ i+ w0 Y) a# {& m
  25.         if(index>=0 and index_end>index):
    1 u9 R& i6 {\" i\" q8 e) [
  26.             text_out+= text[index_start:index]' ^\" `, f0 N% P- t
  27.             index_start=index_end+len(blok_comm[1])
    : E0 T( f- ]9 n; V
  28.         else:
    : E( M3 e5 ?- `* R* ?
  29.             text_out+=text[index_start:]
    # ^. v( h. I, v7 ^% R7 H2 W
  30.             break
    - l1 V+ H# j5 ^7 t6 f! j4 _
  31.     with open(file,mode="w+",encoding="utf-8") as f:
    . s& u7 _7 K2 R
  32.         f.write(text_out)( R/ t% _0 U  k& w) g% |
  33.           m1 f+ J0 u, W- @$ c4 O. f6 I0 y
复制代码
$ m4 n* \5 _/ V( e+ w$ k. c
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, 2025-12-28 16:57 , Processed in 0.356394 second(s), 50 queries .

回顶部