QQ登录

只需要一步,快速开始

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

删除文件注释

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

1171

主题

4

听众

2749

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。) G$ S3 `) E$ [( T1 ^
例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])6 v  K; ], c/ G, F, b8 J
复制代码
  1. # 删除所有注释
    / \8 R+ M9 i* J6 ?7 o6 X
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):) q; V. k$ |- W0 D
  3.     text=""
    - i' C' }' B  r5 s) ?. w# A
  4.     try:1 G* u' n( H2 p  e' V$ _
  5.         with open(file,encoding="utf-8") as f:  r8 R6 s\" M$ h9 _1 P  D
  6.             lines=f.readlines()' L7 {9 D0 s# A- n  V( h# ?
  7.     except Exception as e:
    5 W, L( \\" o% D; R. z8 r  G
  8.         print("decode failed",file)
    \" |5 }  B- J- F2 E1 {\" @2 q' S
  9.         return
    \" `' ?; E# b' K* P* A
  10.     for i in range(len(lines)):! R; a6 v# s3 w; G
  11.         index=lines[i].find(line_comm)9 e8 Y! g5 s0 ?3 b* f3 G
  12.         if(index>=0):: c$ `/ `+ i# Q8 l3 ^( m5 A
  13.             lstr=lines[i][:index]
    2 D$ X  O% H, }# T9 o
  14.         else:
    - L\" }& A$ J0 Y# `
  15.             lstr=lines[i].rstrip()/ z' D0 f# b7 g\" N1 r% y
  16.         if(len(lstr.strip())>0):
    . G+ {0 S  n0 R. t6 ^4 t; Z
  17.             text+=lstr+'\n'
    6 N5 g) x. G& q6 }) i$ T
  18.         elif(text[-2:]=='\\\n'):8 u' V\" m\" K2 Z# ]3 L2 X
  19.             text+='\n'
    ' z3 e, U# u- t# l! a9 e
  20.     index_start=0
    $ o$ M4 c/ v, I* X' c
  21.     text_out=""+ V, N% G% l; @. H- O; t
  22.     while True:* C+ g. H+ U' j! q
  23.         index=text.find(blok_comm[0],index_start)
    $ n1 m/ \. q\" T8 t1 @2 P
  24.         index_end=text.find(blok_comm[1],index)
    0 Y0 C# y( R3 K. f. n* ~% H
  25.         if(index>=0 and index_end>index):
    6 w4 ^: G- u# J8 V/ q
  26.             text_out+= text[index_start:index], t$ p; u7 m3 _; R% P7 A' J
  27.             index_start=index_end+len(blok_comm[1])
    % {5 r4 b; B\" S% A
  28.         else:  Y! `- ?9 i\" a- `* X% r! _
  29.             text_out+=text[index_start:]
    ' X4 B5 o7 b: ?6 l
  30.             break6 {6 Q8 j' u, o# c
  31.     with open(file,mode="w+",encoding="utf-8") as f:
    ' l% @; G) }( `1 P$ g# g
  32.         f.write(text_out)1 p) B( c+ Y, i- `8 B4 B. R/ D
  33.         % ?1 z; H* e  z1 G1 A8 V, O
复制代码
; g( H$ h3 [. t- u
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, 2025-5-12 02:35 , Processed in 0.410548 second(s), 50 queries .

回顶部