我有一个从网站上删除的二维词汇单词。现在我要做的是,在它自己的.txt
文件中打印每个2D数组列表,但是当它写入时,它只会写入2D数组中的最后一个列表。这是我第一次尝试将2D数组写入.txt
文件。不确定我做错了什么。
我试图将2d列表中的20个列表写入20个不同的.txt文件。
这就是我用来编写带有2D数组的.txt
文件
到目前为止,我已尝试使用' a'而不是' w'但是它将整个2d列表写入.txt文件(IE它生成20个.txt文件,包含2d列表的所有内容)
for words in souparray:
with open(path + sublink + '.txt', 'w', encoding='utf-8') as txtf:
str1 = ''.join(words)
txtf.write(str1)
str1 = ""
答案 0 :(得分:0)
您正在写入该文件,写入模式会覆盖该文件的内容并删除之前文件中的内容。
您想要附加到文件,因此在打开文件时应使用append方法。这将有效,
for words in souparray:
with open(path + sublink + '.txt', 'a', encoding='utf-8') as txtf:
str1 = ''.join(words)
txtf.write(str1)
str1 = ""
答案 1 :(得分:-1)
似乎您将所有内容写入同一文件。您需要更改您写入的名称文件:
for words in souparray:
with open(path + sublink + '.txt', 'w', encoding='utf-8') as txtf:
str1 = ''.join(words)
txtf.write(str1)
str1 = ""
sublink
应该随着每次迭代而改变。或者如果子链接部分没有改变,你需要添加一些计数器。
例如:
...
count = 0
for words in souparray:
with open(path + sublink + count + '.txt', 'w', encoding='utf-8') as txtf:
str1 = ''.join(words)
txtf.write(str1)
str1 = ""
count+=1
txtf.close()