同事问怎么批量把某文本中有"/*" 开头"*/"结尾的内容删除. 比较方便的办法是用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,如需转载请自行联系原作者