假如当前在同一个根目录,有一堆文件,它们都有同一个内容需要修改,但是分布在不同的子路径,例如:
一个根目录下,有a, b, c, d, e, f等6个文本文档,文件结构如下:
根目录-> :子目录1 -> a;
子目录2 -> b;
子目录3 -> c;
子目录3-1 -> d;
子目录4 -> e;
子目录5 -> f;
a, b, c, d, e, f当中都包含有同一句话:“刚刚又没忍住,往宇宙里发送了想你的脑电波”,现在我们可以使用python3,将这些文本文档中的这句话,全都替换为:“啊!!她说她在月亮上收到了!!”
先上一波效果图:
这是我先打开的文本文档的内容,在运行脚本后就提示文件已被修改,重新加载后如下图:
话不多说,上代码:
import os
import sys
import getopt # 该模块是专门用来处理命令行参数的
import re
Root = r'xxx\根目录'
for (root, dirs, files) in os.walk(Root):
for f in files:
path = os.path.join(root, f)
print(path)
f = open(path, "r", encoding = 'UTF-8')
alllines = f.readlines()
f.close()
f = open(path, 'w+', encoding = 'UTF-8')
for eachline in alllines:
a = re.sub('刚刚又没忍住,往宇宙里发送了想你的脑电波', '啊!!她说她在月亮上收到了!!', eachline)
f.writelines(a)
f.close()
Root = r'xxx\根目录' 中的 xxx即为你根目录所在的绝对路径,例如我电脑中的 ‘根目录’ 这个文件夹所在绝对路径为
‘E:\PythonProject\’
那我的 Root = r'xxx\根目录' 这句话就应当改为
Root = r'E:\PythonProject\根目录
另外,记住这段代码是 将
'刚刚又没忍住,往宇宙里发送了想你的脑电波'
替换为
'啊!!她说她在月亮上收到了!!'