QQ登录

只需要一步,快速开始

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

删除文件注释

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

1192

主题

4

听众

2946

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。
8 U, a! `3 O5 z* Q7 f- @# M例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])
    9 k/ Q6 j6 P& R
复制代码
  1. # 删除所有注释
      n' B# v7 \0 b7 F! e' \
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):; B' [) ]/ t% [: r
  3.     text=""; n2 ?/ ^9 c* I+ m$ x) g( p
  4.     try:
    , [/ M& y. K\" {- g+ T
  5.         with open(file,encoding="utf-8") as f:
    . K9 I' s! I. g3 d\" P3 s7 D$ E
  6.             lines=f.readlines(). ?8 `( u/ j$ g2 `$ x: H! L- c
  7.     except Exception as e:
    9 f0 Y+ p0 a\" Q9 `/ C0 N
  8.         print("decode failed",file)0 B6 k. q' q8 J4 F) m5 R: f: p
  9.         return
    # ~+ R' }( p  t3 U7 b
  10.     for i in range(len(lines)):, k8 g, ?6 G, O
  11.         index=lines[i].find(line_comm)+ H) R! N3 c3 c' }
  12.         if(index>=0):1 g2 a$ U6 K% p
  13.             lstr=lines[i][:index]& m5 @# T4 f4 k6 U2 X5 Z* _
  14.         else:
    / l6 _4 p8 r# B# }: p7 D2 }/ j1 t, a! b
  15.             lstr=lines[i].rstrip()
    ' n9 p! s1 ^3 v' k4 g
  16.         if(len(lstr.strip())>0):* T. J/ I. A: F4 v6 _! H
  17.             text+=lstr+'\n'$ [# D. d7 i: U2 C8 ~. T$ J
  18.         elif(text[-2:]=='\\\n'):
    6 c- V1 I. ^7 |' L+ Y7 N! H( q: D
  19.             text+='\n'9 v\" a\" Z/ w5 [) S7 i8 q4 x- i
  20.     index_start=0
    2 u4 G' O: r6 N7 D+ Q) S
  21.     text_out=""
    8 [\" L8 @6 K# N3 R  O1 F
  22.     while True:
    - k\" p; R\" t# w$ u9 v1 ~
  23.         index=text.find(blok_comm[0],index_start)
    & S\" i- v8 e1 N8 l( Z
  24.         index_end=text.find(blok_comm[1],index)
    # A\" ]* B2 X5 {
  25.         if(index>=0 and index_end>index):
    % p  s  u. B. G& N\" C
  26.             text_out+= text[index_start:index]/ r& S$ q$ x: ?
  27.             index_start=index_end+len(blok_comm[1])0 C1 U8 N  d& D4 X9 A8 L8 N
  28.         else:
    3 `1 i6 k( _$ o5 I- @+ s0 I
  29.             text_out+=text[index_start:]
    \" |7 ?7 t% O8 D# _  }
  30.             break; x% u+ i, T7 Y: ?+ s! L
  31.     with open(file,mode="w+",encoding="utf-8") as f:
    ) h7 m' u) `! T# f& U) ?& J) ~
  32.         f.write(text_out). v  L+ D/ L& ^' u
  33.         \" {3 m7 d8 s$ @% R8 {9 I. r# x
复制代码

# W/ e% w3 W( M4 S; S
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-1 16:55 , Processed in 0.410524 second(s), 51 queries .

回顶部