获取Azure Databricks中文件夹和文件的最后修改日期



我需要在Azure Databricks下获得DBFS挂载点(ADLS Gen1)中所有文件夹和文件的最后修改日期。文件夹结构如下:

Not containing any files, Empty folders:
/dbfs/mnt/ADLS1/LANDING/parent/child/subfolder1
/dbfs/mnt/ADLS1/LANDING/parent/child/subfolder2/subfolder3
Containing some files:
/dbfs/mnt/ADLS1/LANDING/parent/XYZ/subfolder4/File1.txt
/dbfs/mnt/ADLS1/LANDING/parent/XYZ/subfolder5/subfolder6/File2.txt

使用以下Python代码获取最后修改日期:

root_dir = "/dbfs/mnt/ADLS1/LANDING/parent"
def get_directories(root_dir):
for child in Path(root_dir).iterdir():
if child.is_file():
print(child, datetime.fromtimestamp(getmtime(child)).date())

else:
print(child, datetime.fromtimestamp(getmtime(child)).date())
get_directories(child)

从上面的代码,我得到正确的修改日期,所有文件夹包含文件。

但是对于空文件夹,它给出当前日期。未修改日期.

然而,当我硬编码空文件夹的路径时,它会给出正确的修改日期:

print(datetime.fromtimestamp(getmtime("/dbfs/mnt/ADLS1/LANDING/parent/child/subfolder1")).date())

有人能帮帮我吗,我在循环中错过了什么?

似乎问题出在处理时间上。我给了一个等待时间:time.sleep(.000005)

相关内容

  • 没有找到相关文章

最新更新