Python:在行末尾添加行,而不是在文件中替换

时间:2018-09-05 12:20:16

标签: python python-3.x str-replace

我是python的新手, 实际上,我正在编写Python脚本来替换文件中的特定行,但在行的末尾附加而不是在文件中替换。

下面是我的代码,请看-

假设file1和file2不同,

d = file2.readline()
z = file1.readline()

if d in z:
    print("Match_Found")
    file2.write(z.replace(d, ""))

以上代码不会替换该行的特定字符串,

有人可以帮助我吗

2 个答案:

答案 0 :(得分:0)

您可以尝试读取文件,然后写入另一个(新的)文件。

逐行读取输入文件。如果该行不“匹配”,则只需将其按原样写入输出文件即可。如果匹配,则将替换字符串写入输出文件。

如果您确实要替换文件(而不创建新文件),则可以删除输入文件并重命名输出文件。

答案 1 :(得分:0)

以下是示例:

import io

with open('sample1.txt', 'r') as f:
   lines1 = list(f)


with open('sample2.txt', 'r') as f1:
   lines2 = list(f1)

count = len(lines1)
counter = 0

for k in range(0, count):
   if lines2[counter] == lines1[counter]:
      with open('sample2.txt', 'a') as f3:
          print("Match found!")
          f3.write('\n' + lines1[counter])

 counter += 1

您要在追加模式下打开要写入的文件,并且要使用新行字符以开始新行。 “ a”表示附加模式。