QQ登录

只需要一步,快速开始

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

删除文件注释

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

1192

主题

4

听众

2946

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-31 17:15 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。3 _: t- t1 A. P! s7 d8 B
例如C语言使用 // 和 /* */ 来注释,调用方式如下:
  1. del_comm("main.c","//",["/*","*/"])% e5 g/ e4 n  ?# |0 H
复制代码
  1. # 删除所有注释3 {# `# A, O7 {; s, r
  2. def del_comm(file:str,line_comm:str,blok_comm:list[str]):
    0 i8 L. p$ r) J; b7 C, T8 r- o
  3.     text=""
    ) E4 M, n+ I; [8 J4 Z, Q7 w
  4.     try:
    % e% Z- ~; ?& s* W# P* M1 E8 F, T
  5.         with open(file,encoding="utf-8") as f:% f8 L\" B\" W5 ~7 X
  6.             lines=f.readlines()$ B! g$ I2 n4 e: W# U. w7 m1 s3 u
  7.     except Exception as e:\" ]0 }: Z. L* _5 D6 x, L9 ^\" n
  8.         print("decode failed",file)' P( _& G6 M% s; k! p% `* O8 N! m* t
  9.         return
    & e8 x& X# d* d6 v3 G% @
  10.     for i in range(len(lines)):* B3 u( G: B' n- O! H\" m6 G
  11.         index=lines[i].find(line_comm)7 c0 V. J+ h0 M3 _, V) ?* v1 h
  12.         if(index>=0):; ]4 o% r* {3 I
  13.             lstr=lines[i][:index]( x1 l5 t, d8 V2 R' e
  14.         else:
    4 L; P5 {* T' E& Z1 y9 ?, d: z& v
  15.             lstr=lines[i].rstrip()
    / S1 f; F4 v6 A' O; C& u
  16.         if(len(lstr.strip())>0):$ L8 ?/ I) D; [9 {6 k) \
  17.             text+=lstr+'\n'
    # T4 K1 S8 K, Q5 H\" K7 k0 v
  18.         elif(text[-2:]=='\\\n'):
    0 u$ o3 x& l\" B* Y  h
  19.             text+='\n'
    . w: _5 h1 y\" J% D- a2 i# K; c
  20.     index_start=04 P* X/ ^& J6 {) S
  21.     text_out=""
    , h/ q7 t. c$ `+ w
  22.     while True:
    - ?! I\" s! b' U& T7 f, _, Q) `
  23.         index=text.find(blok_comm[0],index_start)
    ! S+ }& d+ o4 L
  24.         index_end=text.find(blok_comm[1],index)
    8 K9 T5 {  R/ a+ J/ z, I
  25.         if(index>=0 and index_end>index):( x8 ^/ B+ L, n5 _
  26.             text_out+= text[index_start:index]8 \( e, X- e3 G  ?
  27.             index_start=index_end+len(blok_comm[1])2 [: V; V' N4 E6 Q& f
  28.         else:, y8 Y$ O1 [* q2 c' @: D
  29.             text_out+=text[index_start:]/ F, y3 t+ y4 w
  30.             break
    - L* N1 G6 {- c  U6 t4 Y! L
  31.     with open(file,mode="w+",encoding="utf-8") as f:
    2 R. I; {9 q! b1 r0 P) o
  32.         f.write(text_out)
    % }3 R\" W$ L+ n% m% d
  33.         
    / O8 g  z' K) l8 k- ]! F7 h6 M
复制代码

3 _: g. v1 }" P. H
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 18:25 , Processed in 0.546770 second(s), 50 queries .

回顶部