读取公共json文件时出现Python FileNotFoundError

时间:2019-03-18 03:58:52

标签: python python-3.x aws-lambda

我有一个公共的可见JSON文件,该文件托管在s3上。我可以通过单击s3对象的公共URL直接访问文件,然后在浏览器中查看JSON。互联网上的任何人都可以轻松查看文件。

但是在Python中运行了以下代码(使用连接到API触发器的Lambda),我得到[Errno 2] No such file or directory:作为errorMessage,而FileNotFoundError作为errorType

def readLeetDictionary(self):
        jsonfile = 'https://s3.amazonaws.com/url/to/public/facing/file/data.json'
        with open(jsonfile, 'r') as data_file:
            self.data = json.load(data_file)

我在这里想念什么?由于该文件是可公开查看的JSON文件,因此我假设我不会被迫使用boto3库并正式握手至该文件以读取该文件(例如,以object = s3.get_object(Bucket=bucket_names,Key=object_name)进行)-我吗?

1 个答案:

答案 0 :(得分:0)

您需要的条件应该是这样的:

import urllib, json
def readLeetDictionary():
      jsonfile = 'https://s3.amazonaws.com/url/to/public/facing/file/data.json'
      response = urllib.urlopen(jsonfile)
      data = json.loads(response.read())
      print data

请随时询问或解释这是否不适合您。