我正在用Python编写解析代码,它接受html页面并提取某些信息。 我的html存储在名为filelist.txt的文档中,并存储在名为rawdata的目录中。 我目前获取文件的方法如下所示:
def getfiles(foldername):
infile = "filelist.txt"
infileh = open(infile, "r")
onlyfiles = []
for line in infileh:
onlyfiles.append(line.strip())
#print onlyfiles
#onlyfiles = [ f for f in listdir(foldername) if isfile(join(foldername,f)) ]
return onlyfiles
和
filepath ="/mnt/nfs6/wikipedia.proj/odesk/rawdata/" + filename
#print filepath
filehandle = open(filepath, "r")
soup = BeautifulSoup(filehandle)
但是现在我需要改变我的方法:文件并不都位于一个大文件文本中 - 而是它们位于许多单独的目录中 - 我希望我的代码遍历每个目录并获取文件并运行他们的代码。 我并不是很困惑如何循环,而是如何编写'getfiles'方法进入非特定目录。 任何人都可以建议一种方式或指导我获取更多信息的信息吗? (我正在使用python,Beautiful Soup和os)
答案 0 :(得分:0)
您可能会发现os.walk对于从给定起点遍历目录结构很有用。然后,您可以根据需要测试找到的每个文件,然后再将其附加到列表中: http://docs.python.org/2/library/os.html
答案 1 :(得分:0)
os.path.walk是python的find
。 os.path
listdir
中的其他方法非常有用。