Python 获取文件上次修改日期和文件名pyspark的脚本

Python 获取文件上次修改日期和文件名pyspark的脚本,python,pyspark,databricks,azure-databricks,Python,Pyspark,Databricks,Azure Databricks,我有一个挂载点位置,它指向一个blob存储,其中有多个文件。我们需要找到文件的最后修改日期以及文件名。我正在使用下面的脚本 文件列表如下: /mnt/schema_id=na/184000-9.jsonl /mnt/schema_id=na/185000-0.jsonl /mnt/schema_id=na/185000-22.jsonl /mnt/schema_id=na/185000-25.jsonl 这里有一种方法可以实现: import os import time # Path to

我有一个挂载点位置,它指向一个blob存储,其中有多个文件。我们需要找到文件的最后修改日期以及文件名。我正在使用下面的脚本 文件列表如下:

/mnt/schema_id=na/184000-9.jsonl
/mnt/schema_id=na/185000-0.jsonl
/mnt/schema_id=na/185000-22.jsonl
/mnt/schema_id=na/185000-25.jsonl

这里有一种方法可以实现:

import os
import time
# Path to the file/directory
path = "/dbfs/mnt/schema_id=na"

for file_item in os.listdir(path):
    file_path = os.path.join(path, file_item)
    ti_c = os.path.getctime(file_path)
    ti_m = os.path.getmtime(file_path)
        
    c_ti = time.ctime(ti_c)
    m_ti = time.ctime(ti_m)
          
    print(f"The file {file_item} located at the path {path} was created at {c_ti} and was last modified at {m_ti}")

如果您使用操作系统级别的命令来获取文件信息,那么您就无法访问确切的位置—在DataRicks上,它位于DataRicks文件系统(DBFS)上

要在Python级别上实现这一点,您需要将
/dbfs
前置到路径,因此它将是:

。。。
path=“/dbfs/mnt/schema_id=na”
对于os.listdir(路径)中的文件\u项:
file\u path=os.path.join(路径,文件项)[:5]
ti_c=os.path.getctime(文件路径)
...

请注意
[:5]
-它用于从路径中删除
/dbfs
前缀,使其与dbfs兼容

。显然,您需要从路径中获取文件列表,并循环该列表以获取文件路径和所需信息。是的,我需要它。你能帮我弄清楚吗?哦,该死的。。我完全错过了“blob存储”这一点。我的错!感谢@AxelR!FileNotFoundError:[Errno 2]没有这样的文件或目录:'/mnt/schema_id=na',即使路径很好,我可以用%fs ls看到其中的文件'/mnt/schema_id=na'我仍然收到错误您收到了什么错误?FileNotFoundError:[Errno 2]没有这样的文件或目录:'/mnt/schema_id=na'这是可能的权限问题吗?我可以看到文件列表,也可以将它们作为数据帧读取
import os
import time
# Path to the file/directory
path = "/dbfs/mnt/schema_id=na"

for file_item in os.listdir(path):
    file_path = os.path.join(path, file_item)
    ti_c = os.path.getctime(file_path)
    ti_m = os.path.getmtime(file_path)
        
    c_ti = time.ctime(ti_c)
    m_ti = time.ctime(ti_m)
          
    print(f"The file {file_item} located at the path {path} was created at {c_ti} and was last modified at {m_ti}")