簡體   English   中英

如何從blob下載文件並保存在python的文件夾中

[英]how to download file from a blob and save in folder in python

我正在嘗試從 python 中的 blob 下載 .pdf 文件,但我不知道如何保存到我的項目文件夾中的目錄。 它不斷給我一個錯誤權限被拒絕。

編碼:

block_blob_service = BlockBlobService(account_name='hi', account_key='hi') 
tenant = 'hi'
container_name = 'files'
id_ = 1
upload_id = 'upload'+'/'+str(id_)

location = 'local'+'/'+tenant+'/'+upload_id+'/'

for c in block_blob_service.list_containers(): 
   if c.name == container_name:
        for blob in block_blob_service.list_blobs(c.name):
            if location in blob.name:
                print(blob.name)
                block_blob_service.get_blob_to_path(c.name,blob.name,'data')

我無法將“文件夾”中的 pdf 文件保存到文件夾數據中。

get_blob_to_path 的第三個參數應該是文件路徑而不是目錄。 如果 './data' 是一個現有目錄,get_blob_to_path 將嘗試將一個文件寫入一個解釋權限被拒絕錯誤的目錄。 嘗試這樣的事情:

import os
block_blob_service = BlockBlobService(account_name='hi',account_key='hi') 
tenant = 'hi'
container_name = 'files'
id_ = 1
upload_id = 'upload'+'/'+str(id_)
location = 'local'+'/'+tenant+'/'+upload_id+'/'

for c in block_blob_service.list_containers(): 
    if location in blob.name:
        print(blob.name)
        path_to_file = "data/" + blob.name
        dir = os.path.dirname(path_to_file)
        os.makedirs(dir, exist_ok=True)
        # path_to_file should change between loop iterations
        block_blob_service.get_blob_to_path(c.name,blob.name,'data')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM