【问题标题】:Is it possible to list files in a dir with Azure storages是否可以使用 Azure 存储列出目录中的文件
【发布时间】:2021-04-20 12:54:26
【问题描述】:

我使用 Django 和 django-storages[azure] 作为后端。 但我无法找出列出文件的目录,而是我必须像这样使用 sn-ps:

block_blob_service.list_blobs(container_name='media', prefix=folderPath)]

这不起作用:

listdir(absoluteFolderPath)

在 storages/backend/azure_storage.py 我找到了这部分:

def listdir(self, path=''):
        """
        Return directories and files for a given path.
        Leave the path empty to list the root.
        Order of dirs and files is undefined.
        """
        files = []
        dirs = set()
        for name in self.list_all(path):
            n = name[len(path):]
            if '/' in n:
                dirs.add(n.split('/', 1)[0])
            else:
                files.append(n)
        return list(dirs), files

但是我该如何使用它呢?

问候 克里斯托弗。

【问题讨论】:

    标签: django azure-storage azure-blob-storage django-storage


    【解决方案1】:

    假设你设置了DEFAULT_FILE_STORAGE,你可以通过storage访问它

    from django.core.files.storage import default_storage
    dirs = default_storage.listdir(absoluteFolderPath)
    

    【讨论】:

      【解决方案2】:

      它正在工作,谢谢,但我有一个清单:

      [[], ['ANG_65096745.pdf', 'airpods-gave.png', 'miniDP_HDMI.png', 'surface-book-2-13-in-laptop-mode-device-render.jpg', 'surface_4_color.png']]

      如何在 for 循环中使用它?我做了这个:

      files = default_storage.listdir(path=folderPath)
         for file in files:
         print(file)
      

      但它不会只打印我写的输出

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-04
      相关资源
      最近更新 更多