从目录-Python,Beautiful Soup获取文件

时间:2013-06-28 16:40:41

标签: python directory beautifulsoup

我正在用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)

2 个答案:

答案 0 :(得分:0)

您可能会发现os.walk对于从给定起点遍历目录结构很有用。然后,您可以根据需要测试找到的每个文件,然后再将其附加到列表中: http://docs.python.org/2/library/os.html

答案 1 :(得分:0)

os.path.walk是python的findos.path listdir中的其他方法非常有用。