最近跟随Alex学到了一个脚本,是全局文本检索替换。
要求如下:
写一个脚本﹐允许用户按以下方式执行时﹐即可以对指定文件内容进行全局替换﹐且替换完毕后打印替换了多少处内容
写完后的脚本调用方式∶
python your_script.py old_str new_str filename
代码如下:
# encoding: utf-8
import sys
print(sys.argv) # 打印命令行参数
old_str = sys.argv[1]
new_str = sys.argv[2]
filename = sys.argv[3]
# 1.将文件中的数据读入内存中
f = open(filename,'r+')
data = f.read()
# 2.查找关键词并进行替换与计数
old_str_count = data.count(old_str)
new_data = data.replace(old_str,new_str)
# 3.清除旧文件中的内容
f.seek(0)
f.truncate()
# 4.将新的数据写入文件中
f.write(new_data)
f.close()
print(f"已成功将'{old_str}'替换成'{new_str}',共替换了{old_str_count}处")
'''我困惑的地方: 这个脚本用于修改英文是没有问题的,但是不能识别修改中文,请大家解答我的困惑'''