QQ登录

只需要一步,快速开始

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

删除文件注释

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

1186

主题

4

听众

2923

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。
/ ?+ g9 o. g' m9 ~例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])7 N/ _6 r  w1 T\" ^8 ]- S
复制代码
  1. # 删除所有注释
    * f! q3 N& b4 T) n: A
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):
    : }' a7 ]; V) H; G! o4 {
  3.     text=""
    . T% d5 e  q% h9 R
  4.     try:
    ; \% U  S* E+ E% E9 M
  5.         with open(file,encoding="utf-8") as f:
    0 D7 o# e5 p$ `2 E; R& F  u: z# C
  6.             lines=f.readlines()) n, Y% ?+ V0 I& e5 j: D1 j8 P
  7.     except Exception as e:
    * W6 j9 R* K$ {\" e+ O( G3 H
  8.         print("decode failed",file)
    : p. b7 ]+ F  w\" j7 u
  9.         return4 u) b! i2 i$ z# K' K7 ^% W1 g
  10.     for i in range(len(lines)):
    # j: l; z; j0 ~9 _4 F) H; F7 z* K/ k
  11.         index=lines[i].find(line_comm)
    & w$ Y6 E; w- _( D  |
  12.         if(index>=0):% z6 w0 `\" [$ }0 C2 P+ I
  13.             lstr=lines[i][:index]! A# G' E5 J3 j8 q* I\" x7 x4 y
  14.         else:+ s4 k' r6 J4 x$ F- _  M\" D$ S7 B
  15.             lstr=lines[i].rstrip()
    $ F. V7 C- J7 a+ i
  16.         if(len(lstr.strip())>0):
    : v! ^2 K: L8 D8 _
  17.             text+=lstr+'\n'+ x, _5 R+ c5 ]+ m$ i
  18.         elif(text[-2:]=='\\\n'):
    5 I  w4 F7 y& p/ d0 [0 T4 [
  19.             text+='\n'  ^6 _. J. _; g$ J% y
  20.     index_start=0
    \" t: h/ u# V6 V% v1 `7 C
  21.     text_out=""
    + {; X! m\" b0 H# M
  22.     while True:
    9 [% u/ U! c+ T' j8 d1 d/ o. a) B
  23.         index=text.find(blok_comm[0],index_start); W/ U. i& o$ w# X. X  t\" ]
  24.         index_end=text.find(blok_comm[1],index)
    , J5 x- Q3 J0 |2 L
  25.         if(index>=0 and index_end>index):
    8 l  q\" l+ h3 X6 M' ~! ^\" t\" q: t  ?
  26.             text_out+= text[index_start:index]) `' Z' h: F5 u! S\" I
  27.             index_start=index_end+len(blok_comm[1])
    2 D2 G\" e9 Y/ E! H/ p\" N6 c) k' s
  28.         else:
    : m. c5 I) t1 _9 q
  29.             text_out+=text[index_start:]0 b* |/ H# f$ H2 L) c. d4 X
  30.             break. R  x% f; H  Y, T
  31.     with open(file,mode="w+",encoding="utf-8") as f:; {  Z4 v\" k8 ]; J
  32.         f.write(text_out)
    # f  F3 ^* z: y2 `5 p
  33.         
    9 w% z5 e5 C+ t' l6 k
复制代码
& S  t# c( y1 H  V! N$ N" K' u
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-20 11:09 , Processed in 0.347018 second(s), 51 queries .

回顶部