PySpark处理os.walk是否可以遍历子文件夹?

时间:2019-10-11 15:32:03

标签: pyspark databricks

我测试了一些代码示例,这些代码列出了特定文件夹(如下所示)中的所有文件。但是,没有人可以使用通配符处理子文件夹的迭代。

第一次尝试:

import sys, os

root = "/dbfs/mnt/rawdata/2019/01/"+"01"+"/corp/"
path = os.path.join(root, "targetdirectory")
for path, subdirs, files in os.walk(root):
    for name in files:
        print(os.path.join(path, name))

第二次尝试:

import os
for root, dirs, files in os.walk("/dbfs/mnt/rawdata/2019/01/01/corp/"):
    print(root)
    print(dirs)
    print(files)

因此,在此示例中,/01/01/表示1月1日(非常明显)。有什么办法可以一次列出一月份的所有文件?我正在使用Databricks和PySpark。谢谢!

1 个答案:

答案 0 :(得分:0)

是的,先生 它确实会迭代...

import os
EXT = 'File_Name'
PATH = 'Path_Name'
for subdir, dirs, files in os.walk(PATH):
  for filename in files:
    filepath = subdir + os.sep + filename

    if filepath.endswith(EXT): 
        print (filepath) 

请检查缩进