首页 > 解决方案 > Python:尝试将字符串写入新文件时仅写入字符串的最后一行

问题描述

我正在将文本文件作为列表读取,并仅提取第一列数据,其中“”(键盘空间)作为拆分分隔符。

我正在尝试将生成的字符串数据写入一个新文件。

当我创建字符串数据并将其写入新文件时,新创建的文件中只存在字符串数据的最后一行。

例如,当我打印字符串数据时,我可以看到整个字符串。

graphics/1.jpg
graphics/2.jpg
graphics/3.jpg
graphics/4.jpg
graphics/5.jpg

但是,新文件已创建但仅包含最后一行:

graphics/5.jpg

我尝试使用“a”而不是“w”来编写在不同堆栈溢出线程中指定的新文件。

不知道我需要做什么才能将整个字符串数据写入新创建的文件。请帮忙!

with open(fig_file, "r") as f:
        for line in f:
            fields = line.split(" ")
            field1 = fields[0]
            print(field1)

with open("list.txt","w") as wp:
        wp.write(field1)

标签: pythonstringwritefile

解决方案


您只在文件中写入一行,永远!

这应该有效。

lines = []
with open(fig_file, "r") as f:
        for line in f:
            fields = line.split(" ")
            field1 = fields[0]
            print(field1)

            lines.append(field1)


with open("list.txt","w") as wp:
        wp.writelines(lines)

推荐阅读