所以我有这个功能,我想逐行扫描整个文本文件(文本文件行用“,”分割,以便它可以用于不同的段,以便我可以对我的数据进行分类更简单。但是我不知道如何覆盖一行中的特定段,所以假设每行分为 4 个段,它看起来像这样:
雅典娜,£2,233.33,Y
(我已经完成了所有线路的计算,所以这对我来说不是问题)
我基本上想说:
If segment 4 isnt equal to N:
volunteer_file.line(i).segment4.write ("N")
我知道上面的代码与将要使用的实际代码不准确,但由于我不知道它,我只想把它放在那里,以便您了解我的目标。
我只是想覆盖txt文件本身中一行代码的特定部分
答案 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='')