QQ登录

只需要一步,快速开始

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

删除文件注释

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。6 _# w& n2 B4 s# U  X
例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])% r% F0 `\" W% o, N0 O0 d2 W
复制代码
  1. # 删除所有注释
    ' ?; S8 d9 k* h- ~
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):
    - u6 ]! w2 V) D8 R4 m0 z4 O3 L
  3.     text="") a/ |/ |# p1 _. L; ~/ P
  4.     try:
    4 ^6 N$ z+ B: Z0 ~) B3 ~- }* @
  5.         with open(file,encoding="utf-8") as f:
    . n, G) ~% F- }) \% T
  6.             lines=f.readlines()
    & d( O* P\" C6 I' M
  7.     except Exception as e:1 y) T  G6 J) z% V: r3 S\" ^0 X
  8.         print("decode failed",file)
    : a( V\" W2 ?( N+ D0 M
  9.         return) z# L' P+ b$ Y
  10.     for i in range(len(lines)):
    2 M2 p1 v1 s- c
  11.         index=lines[i].find(line_comm)
    3 o# y0 U3 z; ]/ w. y! u, G% m
  12.         if(index>=0):
    - P* ^2 `0 k( ^6 x
  13.             lstr=lines[i][:index]
    # m9 k* K9 o1 |! L  z
  14.         else:& X, z9 Q$ G5 Y. d$ v; @0 a1 E
  15.             lstr=lines[i].rstrip()+ J- p# W7 X5 f
  16.         if(len(lstr.strip())>0):. |9 P7 t# o3 `
  17.             text+=lstr+'\n'
    . m7 \. Z0 f+ B7 d( F
  18.         elif(text[-2:]=='\\\n'):
    $ T5 d6 A+ d/ d\" ^
  19.             text+='\n'
    4 _) I2 j$ n# z+ z: c3 M\" v
  20.     index_start=09 j- {\" i+ ~% F0 w* @$ X, Q8 G
  21.     text_out=""
    # s0 V+ w  |8 h+ e
  22.     while True:
    0 G8 U1 A% G3 K9 [
  23.         index=text.find(blok_comm[0],index_start)- K7 ^7 S' z7 n
  24.         index_end=text.find(blok_comm[1],index)9 s) F- o5 ~! Y( u# T' r
  25.         if(index>=0 and index_end>index):+ C8 Q$ Z/ |  K
  26.             text_out+= text[index_start:index]
    - o, s2 H2 Y% U0 N  H/ A8 m
  27.             index_start=index_end+len(blok_comm[1])
    0 w  `# s# \/ G! g
  28.         else:
    9 ~% h5 w* T7 p
  29.             text_out+=text[index_start:]! V: C/ I4 d4 N' [& p
  30.             break
    6 X4 X# @7 j  ^) N2 }. j
  31.     with open(file,mode="w+",encoding="utf-8") as f:1 Q1 |- f1 x8 B6 \7 X
  32.         f.write(text_out)
    1 Z7 z* H\" p, S. y
  33.         
    # X2 |  d0 H: V$ T7 G7 D/ l9 A
复制代码

$ ?; y3 `! m, r5 m( 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-6-2 22:37 , Processed in 0.384785 second(s), 51 queries .

回顶部