根据要求,我编写了执行上述操作的 python 代码。我使用“os”和“shutil”模块首先浏览目录,然后覆盖文件。
'C:/../modified' 是指包含我们已修改并希望用于覆盖原始文件的文件的目录。
“C:/../originals”是指包含许多子目录的目录,这些子目录的文件名与“modified”中的相同。
该代码通过列出修改后的目录中的每个文件来工作,并且对于每个文件,我们声明文件的路径。然后,我们查看原始目录的所有子目录,在修改后的文件和原始文件同名的地方,我们使用shutil.copyfile() 将原始文件替换为修改后的文件。
因为我们使用的是 Windows,所以有必要将斜杠的方向更改为“/”。
这是对修改目录中的每个文件执行的。
如果有人遇到同样的问题,我希望这能派上用场!
import os
import shutil
for wav in os.listdir('C:/../modified'):
modified_file = 'C:/../modified/' + wav
for root, dirs, files in os.walk('C:/../original'):
for name in files:
if name == wav:
original_file = root + '/' + name
original_file = replace_file.replace('\\','/')
shutil.copyfile(modified_file, original_file)
print wav + ' overwritten'
print 'Complete'