有没有办法在云函数中获取json文件内容?

2024-05-14 20:26:36 发布

您现在位置:Python中文网/ 问答频道 /正文

各位!

我确实需要从与main.py文件位于同一文件夹中的json文件中获取内容。问题是:谷歌云函数无法运行open()语句。出现以下错误:

没有这样的文件或目录:“mytest.json”

现在,我正在将我的文件上传到云存储中,但我希望将其上传到云源中那么,如何从云源获取json文件内容?

这是我在云计算源代码中的代码结构:

.
├── main.py
└── requirements.txt
└── mytest.json

mytest.json

{
    'test': 'Hello World!'
}

main.py:

import json
with open('mytest.json', 'r') as testJson:
     testDict = json.loads(testJson.read())
     print(testDict['test'])

Tags: 文件函数pytest目录文件夹json内容
1条回答
网友
1楼 · 发布于 2024-05-14 20:26:36

我试图复制您的问题,但无法获取您的错误。正如Doug提到的,当您部署函数时,目录中的所有文件都会上载到函数的工作区。您如何部署您的功能

在这次复制中,我使用了云壳。在那里,我创建了一个名为ReadJson的目录,其中包含两个文件:main.py和myfile.json

在cloud shell上的ReadJson目录中,我执行了以下gcloud命令:

gcloud函数部署hello_世界运行时python37触发器http

使用下面的代码,当触发该函数时,您应该观察浏览器上的“HelloWorld”

def hello_world(request):
    """Responds to any HTTP request.
    Args:
        request (flask.Request): HTTP request object.
    Returns:
        The response text or any set of values that can be turned into a
        Response object using
        `make_response <http://flask.pocoo.org/docs/1.0/api/#flask.Flask.make_response>`.
"""
    request_json = request.get_json()
    if request.args and 'message' in request.args:
        return request.args.get('message')
    elif request_json and 'message' in request_json:
        return request_json['message']
    else:
        with open('myfile.json') as json_file:
            data = json.load(json_file)
        return data['test']

相关问题 更多 >

    热门问题