- 在线时间
- 462 小时
- 最后登录
- 2025-4-26
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7236 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2749
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1156
- 主题
- 1171
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。% T5 e$ g+ _5 p6 ^5 Y, U8 _! C8 V( X' M
例如C语言使用 // 和 /* */ 来注释,调用方式如下:- del_comm("main.c","//",["/*","*/"])
+ i! b- r7 H5 k: e$ q8 W2 o
复制代码- # 删除所有注释1 v% ? n$ h/ R# q
- def del_comm(file:str,line_comm:str,blok_comm:list[str]):
, |# W) g. B1 ? - text="", J$ \2 i0 J$ P6 _3 E; z5 W+ O* l5 u
- try:6 H% ?% c, G7 N6 q# V& j/ M3 q
- with open(file,encoding="utf-8") as f:
/ J- Q3 `+ `% f% n- f4 { - lines=f.readlines()
0 N- r4 r, W, e- |; S - except Exception as e:
0 `4 S; M; {% B/ }( p+ }4 V - print("decode failed",file)% t8 z! P8 x s5 F
- return
* _7 Q$ v; d, ]1 e: Z- s' [ - for i in range(len(lines)):5 k9 h0 r6 T6 b8 m& x+ k
- index=lines[i].find(line_comm)
) k7 m3 C+ b$ m6 A# F - if(index>=0):
( t o# r) |! Z$ k- ?/ z - lstr=lines[i][:index]
. N+ u+ Z6 e) z3 O/ Q$ y! D3 w - else:
5 O/ I& D2 h& Z1 R& Z3 P$ H - lstr=lines[i].rstrip()1 F1 m2 [0 R/ k6 a9 o' p6 a) L0 h
- if(len(lstr.strip())>0):' _0 t) ]- Z2 L& N) @
- text+=lstr+'\n'
8 T5 ~6 O _7 i+ m: o# ? - elif(text[-2:]=='\\\n'):7 M& C: p7 W4 k. Z. `% ^
- text+='\n'
+ @! s& C, C\" m+ p; a+ R, E - index_start=0( F J3 |6 e6 ^
- text_out=""! K* l7 N' G+ P! u4 \# i
- while True:
, N8 ^0 Q5 h/ L8 O, x( w8 d0 g7 G - index=text.find(blok_comm[0],index_start)2 i( Z' M9 Z8 N7 j& X9 |/ Y6 D; T( I( A
- index_end=text.find(blok_comm[1],index)8 w5 _4 K; y/ r6 |
- if(index>=0 and index_end>index):5 M\" T$ T3 X$ W: G- d
- text_out+= text[index_start:index]# C* q% V: P% n( }( z. A0 |3 m
- index_start=index_end+len(blok_comm[1]), Q# }' ^$ p' f1 e8 m3 S7 J) ]
- else:1 K, ^+ p) M; X' j$ b
- text_out+=text[index_start:]% M& S\" C* e: s- P
- break
# ?; \, o( | z0 K - with open(file,mode="w+",encoding="utf-8") as f:6 Y. [; B! {4 u\" |- a# u: \: r9 d: K' i
- f.write(text_out)
4 Q\" {* A% E3 X( f$ G - 8 ]; O4 O5 k8 p8 B( W
复制代码 e( Q) O* m, ~) {- _
|
zan
|