- 在线时间
- 479 小时
- 最后登录
- 2026-4-17
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7790 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2923
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1171
- 主题
- 1186
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
输入文件名,行注释标签,块注释标签,生成删除注释后的文件保存并覆盖原文件。
/ ?+ g9 o. g' m9 ~例如C语言使用 // 和 /* */ 来注释,调用方式如下:- del_comm("main.c","//",["/*","*/"])7 N/ _6 r w1 T\" ^8 ]- S
复制代码- # 删除所有注释
* f! q3 N& b4 T) n: A - def del_comm(file:str,line_comm:str,blok_comm:list[str]):
: }' a7 ]; V) H; G! o4 { - text=""
. T% d5 e q% h9 R - try:
; \% U S* E+ E% E9 M - with open(file,encoding="utf-8") as f:
0 D7 o# e5 p$ `2 E; R& F u: z# C - lines=f.readlines()) n, Y% ?+ V0 I& e5 j: D1 j8 P
- except Exception as e:
* W6 j9 R* K$ {\" e+ O( G3 H - print("decode failed",file)
: p. b7 ]+ F w\" j7 u - return4 u) b! i2 i$ z# K' K7 ^% W1 g
- for i in range(len(lines)):
# j: l; z; j0 ~9 _4 F) H; F7 z* K/ k - index=lines[i].find(line_comm)
& w$ Y6 E; w- _( D | - if(index>=0):% z6 w0 `\" [$ }0 C2 P+ I
- lstr=lines[i][:index]! A# G' E5 J3 j8 q* I\" x7 x4 y
- else:+ s4 k' r6 J4 x$ F- _ M\" D$ S7 B
- lstr=lines[i].rstrip()
$ F. V7 C- J7 a+ i - if(len(lstr.strip())>0):
: v! ^2 K: L8 D8 _ - text+=lstr+'\n'+ x, _5 R+ c5 ]+ m$ i
- elif(text[-2:]=='\\\n'):
5 I w4 F7 y& p/ d0 [0 T4 [ - text+='\n' ^6 _. J. _; g$ J% y
- index_start=0
\" t: h/ u# V6 V% v1 `7 C - text_out=""
+ {; X! m\" b0 H# M - while True:
9 [% u/ U! c+ T' j8 d1 d/ o. a) B - index=text.find(blok_comm[0],index_start); W/ U. i& o$ w# X. X t\" ]
- index_end=text.find(blok_comm[1],index)
, J5 x- Q3 J0 |2 L - if(index>=0 and index_end>index):
8 l q\" l+ h3 X6 M' ~! ^\" t\" q: t ? - text_out+= text[index_start:index]) `' Z' h: F5 u! S\" I
- index_start=index_end+len(blok_comm[1])
2 D2 G\" e9 Y/ E! H/ p\" N6 c) k' s - else:
: m. c5 I) t1 _9 q - text_out+=text[index_start:]0 b* |/ H# f$ H2 L) c. d4 X
- break. R x% f; H Y, T
- with open(file,mode="w+",encoding="utf-8") as f:; { Z4 v\" k8 ]; J
- f.write(text_out)
# f F3 ^* z: y2 `5 p -
9 w% z5 e5 C+ t' l6 k
复制代码 & S t# c( y1 H V! N$ N" K' u
|
zan
|