QQ登录

只需要一步,快速开始

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

删除文件注释

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。
" h$ P' A' s6 C* A! W+ q例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])) V2 [1 ~, M+ A% G0 T) {% E$ N2 i3 u
复制代码
  1. # 删除所有注释
    9 H% t0 f! e5 B6 k! m& y; N
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):
    9 w0 K' P. i2 z7 o2 i( |
  3.     text=""
    . {7 Z9 {\" l2 w5 s$ M/ }$ X
  4.     try:8 F/ W& g  |\" y- u0 Z4 D
  5.         with open(file,encoding="utf-8") as f:0 j& y% i/ b1 k: y5 c6 ?, h* ]; l
  6.             lines=f.readlines()3 p. A2 s: N\" u\" N8 v7 U
  7.     except Exception as e:
    9 _* Y6 j: A1 n: X
  8.         print("decode failed",file)
    . E) o5 |3 C# @2 l3 t
  9.         return
    ( Z7 j9 S\" Z% w7 i/ S1 g
  10.     for i in range(len(lines)):
    ( x\" ~' ^6 ?$ V4 S% p4 H
  11.         index=lines[i].find(line_comm)
    ; J* l7 d! C- ]: l; i
  12.         if(index>=0):
    . l* Y' b* ^5 _- R9 x2 q7 ~  W
  13.             lstr=lines[i][:index]& d2 h; j3 x4 ^5 J- c3 G
  14.         else:& w  \- Z( [$ s# I
  15.             lstr=lines[i].rstrip()
    : v0 x& X$ _9 W, n) B: K4 R& F
  16.         if(len(lstr.strip())>0):
      r. p( H' p3 j  S
  17.             text+=lstr+'\n'2 ?8 @- A- J- a! l% B7 c
  18.         elif(text[-2:]=='\\\n'):
    0 H, r- f\" G' l' R6 t7 Q3 ~
  19.             text+='\n'
    7 s* J: P1 h3 P2 ~
  20.     index_start=0
    * @' p1 U5 w. v1 c
  21.     text_out=""  Y5 U! C- \! v\" n/ i
  22.     while True:
    % Y! c, j8 R. H
  23.         index=text.find(blok_comm[0],index_start)1 K7 u% R! p2 z* l- f1 q
  24.         index_end=text.find(blok_comm[1],index)7 ]) G5 f  E\" ~
  25.         if(index>=0 and index_end>index):
    6 k6 G- M% a: l
  26.             text_out+= text[index_start:index]9 A+ E4 g. o. }% i' n
  27.             index_start=index_end+len(blok_comm[1])) U3 \: a1 A4 v\" ]
  28.         else:: Y- V5 L( a& P\" O! i( l
  29.             text_out+=text[index_start:]
    $ B1 I. i4 O  Z- D
  30.             break
    4 R) l) Q0 U4 X% o& n
  31.     with open(file,mode="w+",encoding="utf-8") as f:5 u/ m4 a6 z$ [. D4 y' ^  U9 P
  32.         f.write(text_out)2 K: q6 v6 h. c\" d: z
  33.         6 k0 g8 L\" l  _0 a1 r$ T
复制代码

) ^9 @9 C. }( n5 s
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 11:13 , Processed in 0.330036 second(s), 51 queries .

回顶部