QQ登录

只需要一步,快速开始

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

删除文件注释

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。
" H$ `7 P2 }# x% q例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])
    - l, Y0 J/ u6 Y5 {* J, D  l; S
复制代码
  1. # 删除所有注释
    % ^\" {; `8 ?( f0 g5 E
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):
    7 N$ ?& h* I% j/ Q
  3.     text=""
    5 h! r2 `2 |& q& A
  4.     try:
    1 \  j1 q' a+ V/ K. N! m5 l9 [
  5.         with open(file,encoding="utf-8") as f:
    3 ]\" c$ T! G6 C' z8 |
  6.             lines=f.readlines()
    . P1 j\" ?' {  Q% F
  7.     except Exception as e:; A5 V% {! }$ z0 E+ u
  8.         print("decode failed",file)\" m* J# ?\" w% P
  9.         return
    \" }+ s% r, ?0 x: E: X9 ^) D
  10.     for i in range(len(lines)):1 J. |2 G6 `% H1 e7 p8 D6 C
  11.         index=lines[i].find(line_comm)$ F! R' I) ^6 I+ m* G5 [
  12.         if(index>=0):( S1 n4 ~6 L% g
  13.             lstr=lines[i][:index]  b: W* h( B, O- d. t. L( M
  14.         else:# t2 A% ~; M4 W9 f& ?
  15.             lstr=lines[i].rstrip()) n\" m* Q4 C- B8 t; U- Z
  16.         if(len(lstr.strip())>0):9 |0 I0 a. M' b* l$ \
  17.             text+=lstr+'\n'; a1 y$ Z+ @! H% |
  18.         elif(text[-2:]=='\\\n'):8 ]+ i' A6 h\" b: ?8 l
  19.             text+='\n'+ l4 O% Y4 j$ v: ~, o: j+ d
  20.     index_start=0* D1 O7 F9 g/ G  B* J
  21.     text_out=""
    0 x0 Q: i; r) g2 ?
  22.     while True:0 g, s+ O6 Q, X
  23.         index=text.find(blok_comm[0],index_start)
    1 w0 Z& r5 y( w2 [# C; p
  24.         index_end=text.find(blok_comm[1],index)
    7 t( A. T, G7 H\" b0 Z
  25.         if(index>=0 and index_end>index):- m0 ^: ~1 Y  G. r
  26.             text_out+= text[index_start:index]; u- D/ m\" t3 G, y
  27.             index_start=index_end+len(blok_comm[1])
    9 {$ H/ G# t; O: h+ U; k3 k$ G# w
  28.         else:5 Q. h) _* ?$ }! ?+ b; y4 n
  29.             text_out+=text[index_start:]
    5 f: u\" Z' p) [; C% g
  30.             break
    1 K* x2 {  c- ?, L( V7 _, Z
  31.     with open(file,mode="w+",encoding="utf-8") as f:% i7 m+ z$ j\" B# J4 u9 U) h6 k: Z
  32.         f.write(text_out)
    - z\" @  d8 x3 V\" ~\" _( J3 e, R
  33.         9 f$ U7 @- `  t0 o2 |# n* w) ^
复制代码
$ |$ i* Z9 L$ v  i6 {4 @
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 23:52 , Processed in 0.367756 second(s), 51 queries .

回顶部