!# 练习题1 —— 全局替换程序:
写一个脚本,允许用户按以下方式执行时,即可以对指定文件内容进行全局替换
python your_script.py old_str new_str filename
替换完毕后打印替换了多少处内容
import os
import sys
oldStr = sys.argv[1]
newStr = sys.argv[2]
fileName = sys.argv[3]
newFileName = '%s.new'%fileName
f = open(fileName,"r")
fNew = open(newFileName,"w")
count = 0
for line in f:
if oldStr in line:
line = line.replace(oldStr,newStr)
fNew.write(line)
count += 1
f.close()
fNew.close()
os.replace(newFileName,fileName)
print(count)
例如, 要修改的文件是data.csv文件
在cmd终端中切换到your_script.py的文件所在路径,输入脚本参数,将222222替换成10
python your_script.py "222222" "10" "data.csv"
cmd命令与显示结果
替换后的data.csv