QQ登录

只需要一步,快速开始

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

删除文件注释

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

1192

主题

4

听众

2946

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |正序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。
$ P/ d# m; P0 q8 ~例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])
    1 E, [4 p$ l! c. D
复制代码
  1. # 删除所有注释
    7 A7 w  d0 O0 E  @  ]
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):0 b7 b, d' h\" Z5 t
  3.     text=""# z\" E1 f) {8 Z8 B: ^+ k. j# }# @: n
  4.     try:8 ?/ l* x  Z, x  d
  5.         with open(file,encoding="utf-8") as f:  U- f4 t6 _& S  }3 \5 [- P
  6.             lines=f.readlines(), T. ~3 {7 B' w3 q0 h/ g
  7.     except Exception as e:
    1 H; X7 S! O3 [& ?1 L4 a# x
  8.         print("decode failed",file)  g# D1 x6 p' n+ D# a. f5 E
  9.         return  r  G! k6 X' r$ I7 x4 d
  10.     for i in range(len(lines)):2 H# Z' U1 T% m% @+ U  S4 e, C
  11.         index=lines[i].find(line_comm)\" B7 H- c+ E9 G2 N# L/ s3 ?' Q
  12.         if(index>=0):
    9 Y( {% w\" Y0 t; z' S6 P
  13.             lstr=lines[i][:index]
    1 `6 O4 v! U% ]0 U# W5 d
  14.         else:
    ( I. t  a\" A) d# L, W& L
  15.             lstr=lines[i].rstrip()
    + T3 v8 x7 z5 l2 P$ I
  16.         if(len(lstr.strip())>0):8 U: \# G5 k' V
  17.             text+=lstr+'\n'
    # J* ]% |# E! f
  18.         elif(text[-2:]=='\\\n'):
      S) b9 f& Q, o; _5 k; G! X( X
  19.             text+='\n'
    : K/ j* j6 o# R: o( n& A4 T
  20.     index_start=0
    ! r% u- z& t8 Q% s  @* M
  21.     text_out=""
    ! {1 B! R2 p! ]4 I! H' t) p
  22.     while True:% |( p0 a1 W  V6 I; Q) D3 x
  23.         index=text.find(blok_comm[0],index_start). M$ X, u  L2 S2 l
  24.         index_end=text.find(blok_comm[1],index): I; Q  A3 M# b! {
  25.         if(index>=0 and index_end>index):
    ' _8 `4 E\" u# Y: L) ?\" x9 Q
  26.             text_out+= text[index_start:index]
    0 w- z' O' U# X/ Y% B
  27.             index_start=index_end+len(blok_comm[1])- y0 R/ O( i8 n$ q% @
  28.         else:' @2 g, i4 \/ o2 ?% D2 d
  29.             text_out+=text[index_start:]
    # y: E3 N) c4 n. @9 J1 i( Q
  30.             break6 T# F6 r* r- W* Z2 E
  31.     with open(file,mode="w+",encoding="utf-8") as f:# J$ x% o\" w+ u
  32.         f.write(text_out)
    2 I* M0 X; n  a8 T% v7 D
  33.         ( o+ B! g# {1 v2 k; V9 g$ A
复制代码
3 a, N0 s. s8 ^
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-9-2 00:01 , Processed in 0.423179 second(s), 51 queries .

回顶部