我想将文件中每一行的第2列(单个字符)的内容更改为字母“k”,这是我的代码:
f = open('test.txt')
f_str = f.readlines()
f.close()
for line in f_str:
s = list(line)
s[1] = "k"
line = ''.join(s)
print line
f = open('test.txt', 'w')
f.writelines(f_str)
f.close()
我设法更改for循环中的内容(打印结果显示),但我没有将更改的结果写入文件。请,任何建议将不胜感激。
答案 0 :(得分:2)
您不会更新f_str
,因此您最终会写出您读入的完全相同的行。而不是打印已修改的行,而是将它们添加到新列表中。
new_lines = []
with open("test.txt") as f:
for line in f:
new_line = list(line)
new_line[1] = "k"
new_lines.append(''.join(new_line))
with open("test.txt", "w") as f:
f.writelines(new_lines)