0

我想将文件中每一行的第 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 循环中的内容(打印结果显示),但我未能将更改后的结果写入文件。请,任何建议将不胜感激。

4

1 回答 1

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)
于 2013-09-30T10:18:48.083 回答