如何覆盖文本文件中一行的特定段

时间:2021-03-17 19:33:29

标签: python python-3.x

所以我有这个功能,我想逐行扫描整个文本文件(文本文件行用“,”分割,以便它可以用于不同的段,以便我可以对我的数据进行分类更简单。但是我不知道如何覆盖一行中的特定段,所以假设每行分为 4 个段,它看起来像这样:

雅典娜,£2,233.33,Y

(我已经完成了所有线路的计算,所以这对我来说不是问题)

我基本上想说:

If segment 4 isnt equal to N:
   volunteer_file.line(i).segment4.write ("N")

我知道上面的代码与将要使用的实际代码不准确,但由于我不知道它,我只想把它放在那里,以便您了解我的目标。

我只是想覆盖txt文件本身中一行代码的特定部分

1 个答案:

答案 0 :(得分:0)

您可以使用 fileinput 实现此目的。 fileinput 支持就地编辑。

   import fileinput
    
    with fileinput.FileInput('sample.txt',inplace=True) as file_obj:
        for line in file_obj:
            x = line.split(',')
            for i,word in enumerate(x):
                if i == 3 and word == 'Y':
                    print(line.replace('Y', 'N'), end='')
相关问题