QQ登录

只需要一步,快速开始

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

删除文件注释

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。, h+ l4 V6 P! Q6 A0 C! `" u
例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])
    2 t+ h& q! \- U/ d
复制代码
  1. # 删除所有注释- o& D, _* _6 @' Q( Y8 e& x
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):
    9 s6 y: v7 T7 H- z6 ^9 F
  3.     text=""
    1 T) ?% \, @  s0 I% S
  4.     try:
    : l8 C  p+ E1 N4 r
  5.         with open(file,encoding="utf-8") as f:) E' M9 M6 [) A6 e: G9 }8 Z, Z  n
  6.             lines=f.readlines()
    & \5 Q1 o& P; E3 k
  7.     except Exception as e:! v2 Y. i( a4 a' Q6 _
  8.         print("decode failed",file)
    ; F  r3 L, a6 f4 h
  9.         return; g. e- `- `( W+ M8 S& t/ k% F
  10.     for i in range(len(lines)):
    ( d7 R7 b8 t( f, a' @# d) w% P
  11.         index=lines[i].find(line_comm)7 d8 t9 @- ]) M: c' X/ `
  12.         if(index>=0):/ [\" a. k' w+ l) o5 M$ }4 L% e/ X
  13.             lstr=lines[i][:index]& `/ u3 g1 Z+ X6 B+ l2 z
  14.         else:& l! B/ ~4 N! K9 y! ^  i
  15.             lstr=lines[i].rstrip(): C% Q- C; t\" u\" M' K
  16.         if(len(lstr.strip())>0):) K5 O3 n% Q% k& [  y  c
  17.             text+=lstr+'\n'$ ~3 m. r% N& F. ?& D% ^
  18.         elif(text[-2:]=='\\\n'):
    2 N. n+ \# D$ F! e
  19.             text+='\n'
    : A  Q8 H8 y# K/ S\" Y- b; S$ r
  20.     index_start=07 D# L) t* F3 H, t$ r
  21.     text_out=""
    * c\" a! w. i& {/ Q
  22.     while True:8 ?( F, W- v+ U0 g8 z3 ^
  23.         index=text.find(blok_comm[0],index_start)7 s) a* J9 Q' H9 p4 W: A$ b, ~. m
  24.         index_end=text.find(blok_comm[1],index)
    ( y0 x! n/ n\" z- M7 P: e\" C% z
  25.         if(index>=0 and index_end>index):% u, E2 ?# Y$ ^7 T! U
  26.             text_out+= text[index_start:index], ]$ }6 \6 n3 P7 B6 S
  27.             index_start=index_end+len(blok_comm[1])
    6 x4 O- w3 Y! K2 s\" s! ?
  28.         else:7 y  d) N  y. R& n7 L1 A
  29.             text_out+=text[index_start:]
    9 p# e8 t+ Q& B
  30.             break
    7 I: ]4 f: |% b+ S  V/ ~% a1 {
  31.     with open(file,mode="w+",encoding="utf-8") as f:
    ; Y2 z/ @& }) u! ?/ K( T( X  C
  32.         f.write(text_out)! Z  n0 z* |! X6 D1 w0 C9 Q
  33.         ( ^, ]. }# ]& @& f2 I
复制代码

5 N4 D: w& U+ I  ]. ?' E5 k
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-7-18 07:26 , Processed in 0.346585 second(s), 51 queries .

回顶部