替换文本文件中的word并用python将其写入新文件

2024-06-14 22:05:15 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个包含以下内容的文本文件:

NUM,123
FRUIT
DRINK
FOOD,BACON
CAR
NUM,456
FRUIT
DRINK
FOOD,BURGER
CAR
NUM,789
FRUIT
DRINK
FOOD,SAUSAGE
CAR

我用“披萨”代替“汉堡”

^{pr2}$

如何将所有内容写回新文件中,以便在新文件中:

NUM,123
FRUIT
DRINK
FOOD,BACON
CAR
NUM,456
FRUIT
DRINK
FOOD,PIZZA
CAR
NUM,789
FRUIT
DRINK
FOOD,SAUSAGE
CAR

谢谢!在


Tags: 文件内容foodcarnumburgerbacondrink
3条回答

以追加模式打开文件并替换单词。在

这适用于您已有的代码。它只需添加一行来更新数据,然后添加代码将其全部写入文件:

# read the data
with open('data.txt') as f:
    data = f.readlines()

# process data
for i, line in enumerate(data):
    if "456" in line:
        field = ','.join(data[i+3].split(',')[1])
        field = field.replace(field,'PIZZA')
        data[i+3] = '{},{}\n'.format(data[i+3].split(',')[0],field) # added 

# write data to file
with open('result.txt', 'w') as outfp: # to write out data 
    outfp.write(''.join(data))

你已经很接近了,试试下面的方法:

with open('input.txt','r') as f:
    data = f.readlines()

with open('output.txt','w') as f:
    for i, line in enumerate(data):
        if '456' in line:
            fields = data[i+3].split(',')
            fields[-1] = 'PIZZA\n'
            data[i+3] = ','.join(fields)
        f.write(line)

相关问题 更多 >