QQ登录

只需要一步,快速开始

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

删除文件注释

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

1186

主题

4

听众

2923

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |正序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。. U( U; n$ K4 c- O/ `9 h9 q
例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])
    ( j7 z0 W* ?) g, a3 H/ y# b
复制代码
  1. # 删除所有注释+ d, ~  B4 I  c
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):5 i9 x0 _) o1 f& L5 Y
  3.     text=""
    8 {  o  ?\" Y% s/ ]5 Y7 s
  4.     try:4 Z$ P. g- ^1 c* W# U$ i
  5.         with open(file,encoding="utf-8") as f:8 J! b) C0 N. c8 c4 `/ o
  6.             lines=f.readlines()
    - R% ]9 p1 \9 t8 d! T
  7.     except Exception as e:
    9 Z4 y- j8 U2 F! [\" O; n, d' i
  8.         print("decode failed",file)8 }7 ^+ _7 x' K4 D\" w7 T- n
  9.         return
    * [/ T2 a1 ^5 f, g' v
  10.     for i in range(len(lines)):
    9 H! w, f5 _) o4 ]3 o
  11.         index=lines[i].find(line_comm)
    ) |) B+ [8 J7 z* B! a/ g+ N
  12.         if(index>=0):
    7 P, K% B7 c! O& F7 b( h4 E
  13.             lstr=lines[i][:index]
    - W0 w3 M0 b  f6 ]: F' S7 f4 p6 C) w
  14.         else:) k5 ]# x% M0 `, f$ n; ~% f. [
  15.             lstr=lines[i].rstrip()* w) Z8 Y6 i- @; B- p7 A
  16.         if(len(lstr.strip())>0):* a) W$ \$ p. H+ ?0 l1 T+ S
  17.             text+=lstr+'\n') N: F/ D5 u8 ?; [
  18.         elif(text[-2:]=='\\\n'):! p6 R' J3 t: ?' e
  19.             text+='\n'
    & U( [# f8 z' c& [' L2 ?0 Y
  20.     index_start=0- M/ W4 E0 \/ H4 F7 _# E
  21.     text_out=""2 d8 A! T' q+ e4 Z7 \2 m1 H2 y# F
  22.     while True:
    ' @6 B! }* H5 Q$ J+ _6 d7 |
  23.         index=text.find(blok_comm[0],index_start)6 `% i- x4 Z+ o6 w! s1 w
  24.         index_end=text.find(blok_comm[1],index)8 [9 h/ e- O0 k* @# G
  25.         if(index>=0 and index_end>index):5 K- \+ b. C, k! a\" }5 s0 H
  26.             text_out+= text[index_start:index]
    7 h9 ^% t! a( l5 \
  27.             index_start=index_end+len(blok_comm[1])4 w) m1 ^+ U  d2 d8 O/ n  b; c
  28.         else:
    ) d+ m, ~4 W; z- W2 |  c
  29.             text_out+=text[index_start:]
    ) r% v; q( Q: g; o. |; \3 [- ~
  30.             break' r. {, |2 v9 f- L% o/ ?6 o
  31.     with open(file,mode="w+",encoding="utf-8") as f:\" r0 c) |! f* W  l; J: }) \+ r
  32.         f.write(text_out). `; f9 P8 d: U
  33.         ( V( ~/ H' m! G( N6 W6 Z) R! \/ p# u
复制代码
9 ^4 U4 ]4 {1 \* K- P9 h9 d
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 17:04 , Processed in 0.395775 second(s), 51 queries .

回顶部