QQ登录

只需要一步,快速开始

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

删除文件注释

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。
$ Q1 h5 Z* N) k例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"]): n& v. B7 L( X0 R, x7 V# J\" t
复制代码
  1. # 删除所有注释
    \" v; V  [6 t: G
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):
    # k\" Q) M% J/ B\" j% f& {7 K4 U
  3.     text=""
    0 H5 E8 Z+ A* X- f
  4.     try:- d! s\" m+ ?7 H- Z0 ]' C3 b2 p/ e7 r
  5.         with open(file,encoding="utf-8") as f:0 K; ]1 M, T6 R5 l\" n4 |( ^6 m
  6.             lines=f.readlines()
    # \( m\" i0 }! V' P: [$ r
  7.     except Exception as e:; r6 m. g/ h* @5 V
  8.         print("decode failed",file)
    ! Y& @0 `& [; C* i3 r
  9.         return) K+ Q7 O9 L- y; t1 q
  10.     for i in range(len(lines)):
    + y6 @% u) m0 Q7 i. c/ H, o1 E
  11.         index=lines[i].find(line_comm)
    / [5 X& Y( r* ~7 Z& t
  12.         if(index>=0):( `4 K! z8 o: @4 {5 H
  13.             lstr=lines[i][:index]. S# a: ~% w- f( e
  14.         else:
    \" J$ {0 t& u  J- r  e
  15.             lstr=lines[i].rstrip()
    ( W; ]! I8 ~& p8 l' R
  16.         if(len(lstr.strip())>0):% H( j1 m) v' Y: C
  17.             text+=lstr+'\n'
    8 q0 C, G- w* I' W& ?- [
  18.         elif(text[-2:]=='\\\n'):
    0 z; D# W8 u- t4 i) z! [
  19.             text+='\n'
    6 |8 m+ ]! ?( o- s- N
  20.     index_start=0
      }4 W3 m1 O; x( @- d; c+ _7 N* ~
  21.     text_out=""
      Z/ @+ Q2 T7 k: G: I, _
  22.     while True:3 v9 _. H, W1 u, \
  23.         index=text.find(blok_comm[0],index_start). ]$ V2 J( h3 Q, ]
  24.         index_end=text.find(blok_comm[1],index)
    * A# e4 u0 j) a7 a, P8 f
  25.         if(index>=0 and index_end>index):
    ; W* N) n: x: O\" p* q. y+ _
  26.             text_out+= text[index_start:index]9 Q( ]/ }9 M6 @7 M! [0 S
  27.             index_start=index_end+len(blok_comm[1])% c+ d2 x) b5 |' p/ E
  28.         else:
    : w0 J9 ?# o; @7 s7 g
  29.             text_out+=text[index_start:]/ z) o2 \) G% m; h) I
  30.             break
    + M$ q. `* Z! x\" A
  31.     with open(file,mode="w+",encoding="utf-8") as f:. c9 L4 j, w5 K9 O2 T; W1 J
  32.         f.write(text_out)- r8 S# x# {8 K
  33.         # ^# d9 u; E$ M* |+ ^4 ?: M- |
复制代码

! ~) g: J2 C4 _
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-7-18 12:37 , Processed in 0.342652 second(s), 51 queries .

回顶部