【发布时间】:2019-01-10 07:36:25
【问题描述】:
我很难理解为什么我的循环在一次迭代后就停止了。
我的代码:
import os
def open_data(fpath):
counter=0
for i in os.listdir(fpath):
if os.path.isfile(os.path.join(fpath,i)):
#print counter
f=open(os.path.join(fpath,i),"r")
#counter=counter+1
return counter,f.readlines()
#f.close()
x=open_data("C:/Users/manchester/.ipynb_checkpoints/txt_sentoken/practice_")
基本上,我试图遍历目录中包含电影评论的所有文件。我首先打算使用一个函数从目录中读取所有文件,然后我需要说 70% 的评论用于训练 10% 用于测试 10% 用于验证 10% 用于超参数样本。但我就是无法克服尝试使用函数读取所有文件的第一个障碍。
我尝试过使用 list 和 append 但这也不起作用。
【问题讨论】:
-
为什么你认为你的循环只在一次迭代后就停止了?这个循环应该运行与给定位置的文件一样多的迭代,但你永远不会知道,因为你丢弃了除了最终迭代的结果之外的所有东西。
-
不确定是否是问题所在,但您在打开
f后永远不会关闭它 -
这似乎是学习一些基本调试的好时机。您应该查看循环内和循环后不同变量和项的值,以了解您的代码实际在做什么。
-
问题与
machine-learning无关 - 请不要向标签发送垃圾邮件(已删除)
标签: python python-2.7 file loops directory