当试图将文本从一个文件添加到另一个文件时,getingTypeError:write()参数必须是str,而不是list



我得到了两个带有列表text1.txt的文本文件

Pig
Goat
Duck
Cow
Chicken
Sheep
Horse

text2.txt

Lydia
Marie
Mike

我想做的是在文件2的第二行之后添加文件1的文本像这样:

Lydia
Marie
Pig ---> list will be added here
Goat
Duck
Cow
Chicken
Sheep
Horse
Mike ---> old list continues

我在这个网站上写了以下脚本:

with open("text1.txt", "r") as f1:
t1 = f1.readlines()
with open("text2.txt", "r") as f2:
t2 = f2.readlines()
t2.insert(2, t1)
with open("text2.txt", "w") as f2:
f2.writelines(t2)

并得到以下错误:

f2.writelines(t2)
TypeError: write() argument must be str, not list

进行时

t2.insert(2, t1)

您正在创建一个嵌套列表。t2看起来像

["Lydia", "Marie", ["Pig", "Goat", "Duck", ...], "Mike"]

writelines()需要一个字符串的平面列表,当它到达嵌套列表时,它无法写入它

如果要拼接到列表中而不是插入嵌套列表,请使用切片指定。

t2[2:2] = t1

最新更新