【发布时间】:2021-04-21 08:14:05
【问题描述】:
我有一个奇怪的问题。输出以下代码是一个文件,上面写有'software developer' 'software engennering' 'programming'。我希望拥有 list_of_lists 的全部元素。你能看出问题出在哪里吗?
list_of_lists=[['software developer', 'software engennering','programming'], ['data scientist', 'data analysis', 'AI developer']]
for x in range(0,len(list_of_lists)): #for each cluster, do :
print( "=============== x = ",x," ================") #will denote cluster number
docs = list_of_lists[x]
fw = open("/Volumes/hard/Skyhive/one/list.txt",'w')
fw.write((','.join(docs)).replace(","," ")) #writing everything of one cluster in a file.
countDocuments = len(docs)
【问题讨论】:
-
open("filename", "w")将创建一个新文件,覆盖已经存在的文件。因为您是在 for 循环中创建文件,所以每次循环迭代都会覆盖文件。 -
不推荐在 for 循环中打开文件。建议关闭。
-
顺便说一句,Python 的 for 循环是 built 到 iterate over the items themselves 而不使用 index 。 enumerate 是一个 Python 函数,可让您在迭代时访问索引 -
for x,docs in enumerate(list_of_lists):...将是编写循环的规范方式。
标签: python file for-loop write