您的位置:首页 > 编程语言 > Python开发

Python 实现替换文件里面的内容

2017-10-13 14:13 609 查看
参考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])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: