如何解决使用 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 举报,一经查实,本站将立刻删除。