gpt4 book ai didi

python - 用python中的特定字符串替换完全匹配的单词

转载 作者:行者123 更新时间:2023-11-28 21:52:30 24 4
gpt4 key购买 nike

我是 Python 的新手,这是我第一个替换 word 的脚本。

我的文件 test.c 包含以下两行

printf("\nReboot not supported.  Exiting instead.\n");
fprintf(stderr, "FATAL: operation not supported!\n");

现在我想分别用//printf//fprintf替换printffprintf

这是我尝试过的

infile = open('path\to\input\test.c')
outfile = open('path\to\output\test.c', 'w')

replacements = {'printf':'//printf', 'fprintf':'//fprintf'}

for line in infile:
for src, target in replacements.iteritems():
line = line.replace(src, target)
outfile.write(line)
infile.close()
outfile.close()

但是使用这个我得到了

fprintf//f//printf 这是错误的。

解决方案看这个 answer但无法将其放入我的脚本中。

有人知道我该如何解决吗?

最佳答案

基本上,您希望将 printf 转换为//printf,将 fprintf 转换为//fprintf。如果是这种情况,那么这可能会奏效,请尝试一下。

  outfile = open("test.c", 'r')
temp = outfile.read()
temp = re.sub("printf", "//printf", temp)
temp = re.sub("f//printf", "//fprintf", temp)
outfile.close()
outfile = open("test.c","w")
outfile.write(temp)
outfile.close()

关于python - 用python中的特定字符串替换完全匹配的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28207632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com