#!/usr/bin/python
#coding=utf8
"""
# Author: xiaoyafei
# Created Time : 2018-05-08 09:24:58
# File Name: replaceContent.py
# Description:
1.允許用戶按以下愛方式執行時,即可以對指定文件內容進行全局替換
python3 yourScripts.py old.str new.str filename
2.替換完畢后打印替換了多少行內容
"""
import sys
import os
# 添加統計功能
count = 0
oldStr = sys.argv[1] # 老字符串
newStr = sys.argv[2] # 新字符串
filename = sys.argv[3] # 文件名
newFileName = '%s.new'%filename # 新文件名,用來覆蓋用
f = open(filename,mode = 'r+',encoding='utf-8') # 以讀寫模式打開文件
f_new = open(newFileName,mode = 'w+',encoding='utf-8') #讀模式打開新文件,注意:w和w+會把以前的內容清空掉
data = f.readlines() # 逐行讀取文件
for line in data:
if oldStr in line: # 如果oldStr存在在本行中
count += 1
new_line = line.replace(oldStr,newStr) # 替換
else:
new_line = line
f_new.write(new_line)
f.close()
f_new.close()
os.rename(newFileName,filename) # 文件覆蓋操作
print("一共替換了%d處"%count)