使用 Python 读取 Azure 容器 JSON - “open (filename, "r") as f:”函数和绝对容器路径的问题

问题描述

我正在使用 Python 脚本通过以下脚本从我的 azure 容器中读取数据:

filename = "27.JSON"
container_name="..."
constr = 'DefaultEndpointsProtocol=...;AccountName=r...;AccountKey=3...;EndpointSuffix=...'

blob_service_client = BlobServiceClient.from_connection_string(constr)
container_client = blob_service_client.get_container_client(container_name)
blob_client = container_client.get_blob_client(filename)
streamdownloader = blob_client.download_blob()

with open(filename,"r") as f:
    lines = f.readlines()
    for line in lines:
        body = (line[346:-4]) 
        body += "=" * ((4 - len(body) % 4) % 4) 
        url_bytes_b64 = base64.urlsafe_b64decode(body)
        str_64 = str(url_bytes_b64,"utf-8")
        print(str_64)

只要我将文件放在同一目录中,一切正常(包括从 base64 传输到我的 JSON-String。否则我会收到以下错误

"... with open(filename,"r") as f: FileNotFoundError: [Errno 2] 没有这样的文件或目录:'27.JSON'"

我已经知道这是因为我使用了绝对路径。因此,我只能读取与我的脚本位于同一目录中的 JSON。但是我的容器相对路径应该如何显示,以便我无需下载文件即可读取数据?

提前致谢!

我不习惯 python - 因此我的脚本写得不是很好。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)