同事问怎么批量把某文本中有"/*" 开头"*/"结尾的内容删除. 比较方便的办法是用awk,sed什么的.
但那两个很久没用, 不记得怎么折腾了. 于是想着用python怎么折腾. 下面的脚本测试没什么问题.
记录一下...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#!/usr/bin/env python
import
os, sys
if
len
(sys.argv) !
=
2
or
not
os.path.isdir(sys.argv[
1
]):
print
"Useage: ./script dirname"
sys.exit()
for
filename
in
os.listdir(sys.argv[
1
]):
if
filename.endswith(
'.txt'
):
tmp, check, change
=
'',
False
,
False
for
i
in
open
(filename):
if
i.startswith(
'/*'
)
and
i.strip().endswith(
'*/'
):
continue
elif
i.startswith(
'/*'
):
check
=
True
if
check:
if
i.strip().endswith(
'*/'
):
check
=
False
else
:
change
=
True
tmp
+
=
i
if
change:
with
open
(filename,
'w'
) as f:
f.write(tmp)
|
本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1619707,如需转载请自行联系原作者