QQ登录

只需要一步,快速开始

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

删除文件注释

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

1186

主题

4

听众

2923

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。
4 v- w# D; D: D, u7 S例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])\" N\" I' e) \; H3 r1 M\" J
复制代码
  1. # 删除所有注释, W: ^3 d& b! c' S4 L+ D\" N
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):
    , d3 C- ~3 N7 r- g0 W% J5 a  N
  3.     text=""
    ; f$ b& c7 U- O3 L\" e/ t/ Y
  4.     try:8 R1 m  [: B7 e1 O. k2 p
  5.         with open(file,encoding="utf-8") as f:
    : a: m$ n\" j! `, q/ @: I8 {
  6.             lines=f.readlines()
    . ~2 R! o( a+ L; Y3 k: T' k$ P+ N
  7.     except Exception as e:
    - O5 M  P* y# w4 `7 n1 V4 k. o
  8.         print("decode failed",file)# e\" u3 X2 T( g
  9.         return- k' b/ ^8 s5 f5 m4 Y& ~0 r
  10.     for i in range(len(lines)):8 Y! H. Q' i3 a\" K
  11.         index=lines[i].find(line_comm)/ g, m! |5 v- c& I! B, @! G0 U* F
  12.         if(index>=0):& v/ p0 o\" T$ n
  13.             lstr=lines[i][:index]
    / L# Y$ E7 V1 H- X\" W
  14.         else:2 L/ K1 S: v2 Y0 ]# M
  15.             lstr=lines[i].rstrip(): a' K- T3 X4 G3 x. I
  16.         if(len(lstr.strip())>0):
    $ K) y' n+ c. J8 `# E; X$ P- B
  17.             text+=lstr+'\n'1 D0 g6 \0 X$ [; M, u8 b: C
  18.         elif(text[-2:]=='\\\n'):
    5 {. X& E' m5 W
  19.             text+='\n'8 C7 R. l  s1 Q: o% C: G/ ^& M$ }
  20.     index_start=0
    & f9 A; i- V/ g# ~5 t
  21.     text_out=""
    % D* j0 J  C\" b% e0 q4 g; d
  22.     while True:) e\" C) C  `. l+ k  |
  23.         index=text.find(blok_comm[0],index_start)
    . A' r. t( ^$ o\" j+ [- a6 _
  24.         index_end=text.find(blok_comm[1],index)  T7 y\" k2 P9 o
  25.         if(index>=0 and index_end>index):
    ) h0 w1 e8 K2 C
  26.             text_out+= text[index_start:index]
    + L/ ?% X2 {5 M0 d
  27.             index_start=index_end+len(blok_comm[1])  k6 t; I2 M3 m8 o; ?
  28.         else:6 t  X; c( b2 V2 z/ C
  29.             text_out+=text[index_start:]
    2 @, _; a1 W0 ?8 g2 \4 k2 a
  30.             break# w/ X0 G0 V\" i' o6 d1 E
  31.     with open(file,mode="w+",encoding="utf-8") as f:
    , C0 F\" V5 U2 o  z% S* l
  32.         f.write(text_out)
    \" a$ Y* @  L( M5 l2 G1 n) ?; C
  33.         0 G6 G8 L0 O; ?
复制代码
; |7 p9 V6 D3 q; _) o9 T. Y
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-18 08:39 , Processed in 0.373519 second(s), 51 queries .

回顶部