QQ登录

只需要一步,快速开始

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

删除文件注释

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

1186

主题

4

听众

2923

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。
# x' R7 B5 O5 K& w例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])
    ) C# k3 V8 D: i9 e0 Q
复制代码
  1. # 删除所有注释
    & O+ l4 [) c4 F, [; H3 K: Y- ~( {
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):2 g5 |+ T) w4 y& ^
  3.     text=""
    1 C- n8 V0 C+ U  F' i) p6 z/ f
  4.     try:0 {! n: M3 j; p% D
  5.         with open(file,encoding="utf-8") as f:
    7 \( k- A$ s4 w1 E$ x, Q, \8 [3 ]
  6.             lines=f.readlines(), o4 \: u8 z- X9 [6 r1 ]% e
  7.     except Exception as e:
    ' x2 m: n: }5 f\" v
  8.         print("decode failed",file)2 j7 N) Q' T& A
  9.         return
    , Q2 c$ B0 M% G3 e; Y4 t
  10.     for i in range(len(lines)):6 P5 L; G$ ~6 N( N, c4 P, |
  11.         index=lines[i].find(line_comm)
    + Z+ m9 k) s4 R' V
  12.         if(index>=0):( q( L\" f7 H* V; F
  13.             lstr=lines[i][:index]
    9 g0 {1 Z6 I: F# m
  14.         else:0 d% M, @6 f1 m+ t: B1 y
  15.             lstr=lines[i].rstrip()5 }' Q8 R5 D6 a3 k* A
  16.         if(len(lstr.strip())>0):* C/ A2 O- t1 |6 c6 \/ j
  17.             text+=lstr+'\n'( J- Y% I+ S7 B1 N7 H+ {+ c
  18.         elif(text[-2:]=='\\\n'):
    $ y4 V8 ~\" Y7 R8 I\" D$ D
  19.             text+='\n'
    . x# B, k! _( p% o9 q
  20.     index_start=0* i0 y% L1 W- v, m5 ?
  21.     text_out=""* T. h' j% l, I
  22.     while True:
    \" C. I* f/ [\" M: Z% y/ y
  23.         index=text.find(blok_comm[0],index_start)
    1 i% b0 l! t0 H  w1 Q7 f
  24.         index_end=text.find(blok_comm[1],index)
    ; @# d% o& f  J
  25.         if(index>=0 and index_end>index):
    - m  r$ ~7 k5 W; a1 q
  26.             text_out+= text[index_start:index]
    : L$ F# y* b& b- @( O& s
  27.             index_start=index_end+len(blok_comm[1])3 V  m; u, d9 S
  28.         else:
    \" s1 @4 i/ @& r: s, w; o( g
  29.             text_out+=text[index_start:]0 |$ ]8 S! n% Y- f  ]
  30.             break% P& S\" B! W8 L; R
  31.     with open(file,mode="w+",encoding="utf-8") as f:
    9 e* e( k/ m4 J% I3 I; u9 ]
  32.         f.write(text_out). L; ~7 u! {7 C( u3 A& `% X
  33.         6 P* j/ c7 {/ w8 u\" ^
复制代码

; c- L! `9 D; p: L# B
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-19 02:45 , Processed in 0.445333 second(s), 51 queries .

回顶部