-2

我想从包含多个“.c”和“.h”文件的文件夹的文件中查找字符串,例如“Version1”,并使用python文件将其替换为“Version2.2.1”。

任何人都知道如何做到这一点?

4

1 回答 1

3

这是使用 os、glob 和 ntpath 的解决方案。结果保存在名为“输出”的目录中。您需要将其放在拥有 .c 和 .h 文件的目录中并运行它。

创建一个名为 output 的单独目录并将编辑后的文件放在那里:

import glob
import ntpath
import os

output_dir = "output"

if not os.path.exists(output_dir):
    os.makedirs(output_dir)

for f in glob.glob("*.[ch]"):
    with open(f, 'r') as inputfile:
        with open('%s/%s' % (output_dir, ntpath.basename(f)), 'w') as outputfile:
            for line in inputfile:
                outputfile.write(line.replace('Version1', 'Version2.2.1'))

替换字符串到位

重要!请确保在运行此之前备份您的文件:

import glob

for f in glob.glob("*.[ch]"):
    with open(f, "r") as inputfile:
        newText = inputfile.read().replace('Version1', 'Version2.2.1')

    with open(f, "w") as outputfile:
        outputfile.write(newText)
于 2018-04-26T07:39:54.773 回答