- 在线时间
- 479 小时
- 最后登录
- 2026-4-17
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7790 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2923
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1171
- 主题
- 1186
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。
+ a+ s) s' d& c. b; |# q% `' v例如C语言使用 // 和 /* */ 来注释,调用方式如下:- del_comm("main.c","//",["/*","*/"])
# Y9 ]- j3 m! Q' ]$ i7 u3 m* x
复制代码- # 删除所有注释' ]2 S\" H9 `6 M- y/ J1 I0 R
- def del_comm(file:str,line_comm:str,blok_comm:list[str]):
/ Y. T5 K3 z: Z4 h1 M7 i - text=""
: J3 R. k8 i9 p6 r+ k- Y\" w - try:
% R% ^. r5 i# P7 i - with open(file,encoding="utf-8") as f:
& a8 L2 p- Y) X5 G( u% b e\" K0 ] - lines=f.readlines(); {8 S- v- u0 E
- except Exception as e:, a; z# w6 ~( x7 ]2 s- H1 B
- print("decode failed",file)
/ {1 C\" n3 q- x: Z - return& y\" U2 ?+ _) }0 X
- for i in range(len(lines)):
6 ?! ?3 b2 m$ J3 S! B* l0 u/ d - index=lines[i].find(line_comm)' d* G. Z- y9 [6 j* X5 y5 v, Z7 ~4 P
- if(index>=0):9 O8 B$ C( n5 T3 g: J% o! l( t
- lstr=lines[i][:index]
% b% y1 b& i5 S( d4 J\" U - else:3 ] F$ i4 f. O ]! J* `8 y2 d
- lstr=lines[i].rstrip()3 d; a5 A% b6 C- v
- if(len(lstr.strip())>0):$ o7 _3 K. H$ C+ x z: [5 B# a
- text+=lstr+'\n'6 o# s1 G7 ^0 }) H( c
- elif(text[-2:]=='\\\n'):
! I5 h: _. i' B6 m: d Q5 `\" o$ l - text+='\n'# s; b. A5 a% w
- index_start=05 B\" Q3 Y9 D& E1 |! _
- text_out=""
, E) m! z. K8 z$ e# } - while True:3 c* }3 R- F( e. d; r
- index=text.find(blok_comm[0],index_start): r) v% h: T+ P\" i' |5 n% T
- index_end=text.find(blok_comm[1],index)
4 W- l\" R* M+ |2 D* | - if(index>=0 and index_end>index):
0 H9 e2 E' F5 ?7 P: Z4 L) j - text_out+= text[index_start:index]$ L% @7 A' } ^5 U\" P
- index_start=index_end+len(blok_comm[1])* l7 i% Z2 P% u& U
- else:
% z5 x\" O! s& ] H) a - text_out+=text[index_start:]
* U6 O n; [% H, K% {4 O& B - break
, y2 H/ H, o0 R( B) c! i, w - with open(file,mode="w+",encoding="utf-8") as f:
! `3 w7 Z0 m. E) j) p5 t- C, ^1 ] - f.write(text_out)- u/ D; I) `$ x$ c- R9 R; E
-
$ b7 [( d4 z! S' W& }
复制代码 % { ?9 ^$ f' ^) q
|
zan
|