[python小工具] 实现替换文件里面的内容
参考http://www.cnblogs.com/www1707/p/5858212.html
可以替换文本中指定的字符
思路扩展:
配上正则表达式,可以直接向文本中插入指定的内容
也可以删除指定的内容
加上上一篇写的在文件夹下查找指定的文件, 可以扩充为 批量修改文件的脚本
#!/usr/bin/python
# -*- coding=UTF-8 -*-
import sys
import os
len_argv=len(sys.argv)
#print '传参数量',len_argv-1
old_words='1'
if len_argv < 4:
print '参数错误:python '+sys.argv[0]+' 需要编辑的文件 被替换的字符串 提成成的字符串 [另存成的文件]'
elif len_argv > 5:
print '参数错误:python '+sys.argv[0]+' 需要编辑的文件 被替换的字符串 提成成的字符串 [另存成的文件]'
else:
if not os.path.isfile(sys.argv[1]):
print '%s 文件不存在' % sys.argv[1]
sys.exit()
s_file = file(sys.argv[1],'r+')
old_str = sys.argv[2]
new_str = sys.argv[3]
d_file = file(sys.argv[1]+'.tmp','w')
for line in s_file.readlines():
d_file.writelines(line.replace(old_words,''))
'''
if 'ONLINE' in line:
print line
d_file.writelines(line.replace(old_words,''))
else:
d_file.writelines(line)
'''
s_file.close()
d_file.close()
if len_argv == 4:
os.rename(sys.argv[1]+'.tmp',sys.argv[1])
else:
os.rename(sys.argv[1]+'.tmp',sys.argv[4])