QQ登录

只需要一步,快速开始

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

删除文件注释

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |正序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。7 U( N  R% [! Y; Z2 R" m" C1 e+ I* W
例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])
    \" _) T5 f% @: w6 u8 y7 s# a
复制代码
  1. # 删除所有注释
    ) a2 O' s- J& s8 W8 ?( l5 z% m
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):( f6 X* R; r% W  ~% y
  3.     text=""
    # B. V% }( P) Z8 ^
  4.     try:
    , I* s# A+ w& |+ O0 T7 b
  5.         with open(file,encoding="utf-8") as f:+ Y+ M' y1 I/ J
  6.             lines=f.readlines()- \4 u/ Y# @5 s2 c5 u' C) q
  7.     except Exception as e:4 }1 A# A: M* R& x
  8.         print("decode failed",file)
    * n+ _# [+ h9 S, S7 e! R
  9.         return; D2 b9 `; V1 b0 G/ S/ W\" h
  10.     for i in range(len(lines)):
    6 @1 D4 U& |  v  N3 q2 s* p- t
  11.         index=lines[i].find(line_comm)
    9 ]4 \0 r' S% T1 _1 w' \
  12.         if(index>=0):
    0 g4 {+ `  `. G
  13.             lstr=lines[i][:index]8 O! D2 R, Q2 A6 ]
  14.         else:
    , t) D6 @# ~1 k# C  L( w( o
  15.             lstr=lines[i].rstrip()
    ! c# o' y' l5 o/ D7 F$ ]4 h
  16.         if(len(lstr.strip())>0):
    ; f1 {+ n  w5 U- P0 C' P\" e
  17.             text+=lstr+'\n'
    3 A; H6 m+ N' x$ F  b# l1 v) H6 k
  18.         elif(text[-2:]=='\\\n'):* ~3 n+ j8 R4 B, J. X. }
  19.             text+='\n'
    5 u/ V# E$ N) ~2 N6 G$ X' P$ h
  20.     index_start=0
    7 q\" H, V: U% D3 D
  21.     text_out=""4 P) G5 w# q& q2 d' G  k
  22.     while True:
    0 ]( Q% g7 J; ^# \
  23.         index=text.find(blok_comm[0],index_start)# u0 Q4 C8 X& v# F& Z# ^
  24.         index_end=text.find(blok_comm[1],index)4 y: ]% C( S) ], o, X& j
  25.         if(index>=0 and index_end>index):% h/ w/ J, J( N, W6 u% ]: j( \3 ?
  26.             text_out+= text[index_start:index]0 v; }\" d' O5 @/ y) f3 q
  27.             index_start=index_end+len(blok_comm[1])
    7 {, A7 l' |2 }3 I
  28.         else:
    ; x8 }' [5 a9 i* ^7 m9 s( P
  29.             text_out+=text[index_start:]
    , p\" s7 j$ W9 X; f
  30.             break* v2 q! L* {% c9 o3 b2 U0 X
  31.     with open(file,mode="w+",encoding="utf-8") as f:1 K, a/ ^& z8 B: t8 }, e8 F! }, B
  32.         f.write(text_out)3 ]5 m8 q6 A1 E* \9 a& b1 j
  33.         9 f2 i0 ~- j5 ~+ z
复制代码

3 w) ?) H# t/ ^+ o( z
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 13:50 , Processed in 0.330668 second(s), 52 queries .

回顶部