python - 如何解决写入文件的问题?
问题描述
我有一个奇怪的问题。输出下面的代码是一个 '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)
解决方案
你有2个问题-
您一遍又一遍地打开文件而不关闭它。
您
w
在第二次打开它,而不是a
.
如果您希望每次都重新打开文件,那么您应该在循环结束时关闭它。同样,第一次打开时应该使用w
,第二次使用a
表示追加,并将追加到文件中,而不是重写。
假设您希望编写整个内容,一个更简单的解决方案是从循环外部打开文件:
list_of_lists=[['software developer', 'software engennering','programming'], ['data scientist', 'data analysis', 'AI developer']]
fw = open("/Volumes/hard/Skyhive/one/list.txt",'w')
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.write((','.join(docs)).replace(","," ")) #writing everything of one cluster in a file.
countDocuments = len(docs)
fw.close()
推荐阅读
- mysql - 如何在我的 Python 脚本中修复 MySQL 插入查询?
- javascript - 使用 jQuery 委托从 iframe 捕获加载事件
- android - 以纵向模式旋转的活动
- javascript - 是否可以将我的页面分享到 facebook Laravel 中的特定组或页面
- node.js - 如何防止消息在 BotFramework Nodejs 中乱序到达?
- c# - 无法删除文件夹 - Isilon REST API 返回错误 409
- java - 如何使用 java 泛型类型参数?
- angular - 同时显示两个垫子错误
- c# - 将成员代码编号转换为已知字符串?
- excel - 将数据从动态命名的源文件复制到主文件