如何从Python中的单个文件夹中读取多个txt文件?
我尝试使用以下代码,但它无效。
import glob
import errno
path = '/home/student/Desktop/thesis/ndtvnews/garbage'
files = glob.glob(path)
for name in files:
try:
with open(name) as f:
print name
for line in f:
print line,
f.close()
except IOError as exc:
if exc.errno != errno.EISDIR:
raise
答案 0 :(得分:1)
你的glob不正确。您应该在路径末尾添加/*
以选择路径中的所有文件(或目录),然后检查它们是否为os.path.isfile
的文件。类似的东西:
from os.path import isfile
files=filter(isfile,glob.glob('%s/*'%path))
您还有实际开放的问题。当您的with
语句结束时,该文件将关闭,f
将无法再访问。您对该文件所做的任何操作都应在with
语句下。你不应该明确地关闭它。