Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python open表示文件不';当它存在时,它就不存在了_Python_Amazon S3 - Fatal编程技术网

Python open表示文件不';当它存在时,它就不存在了

Python open表示文件不';当它存在时,它就不存在了,python,amazon-s3,Python,Amazon S3,我正在试图弄清楚为什么我的Python open调用会说一个文件不存在,而它确实存在。如果我在浏览器中输入完全相同的文件url,则会显示照片 我收到的错误消息是: No such file or directory: 'https://yhistory.s3.amazonaws.com/media/userphotos/1_1471378042183_cdv_photo_033.jpg' Python代码是: full_path_filename = 'https://' + settings

我正在试图弄清楚为什么我的Python open调用会说一个文件不存在,而它确实存在。如果我在浏览器中输入完全相同的文件url,则会显示照片

我收到的错误消息是:

No such file or directory: 'https://yhistory.s3.amazonaws.com/media/userphotos/1_1471378042183_cdv_photo_033.jpg'
Python代码是:

full_path_filename = 'https://' + settings.AWS_STORAGE_BUCKET_NAME + '.s3.amazonaws.com/' + file_name
fd_img = open(full_path_filename, 'r')

我想知道这个问题是否与AWS S3存储桶中的文件有关,但我可以连接到该存储桶并列出其内容。

如果您试图通过internet打开文件,您应该这样做(假设您使用的是python 3):


这将下载实际的文件。您可以将
文件
用作另一个类似文件的对象。

如果您试图通过internet打开一个文件,您应该执行以下操作(假设您使用的是python 3):


这将下载实际的文件。您可以将
文件
用作另一个类似文件的对象。

是您计算机上的文件名,或者您正试图通过internet访问它?如果您试图通过internet访问文件,则需要使用类似于
urllib2
requests
的模块。Python代码正在连接到internet的笔记本电脑上运行。
open
函数用于打开可通过路径名访问的文件<代码>https://yhistory.s3.amazonaws.com/media/userphotos/1_1471378042183_cdv_photo_033.jpg是一个URL,而不是路径名,因此
open
对它不起作用。对于通过Internet的请求,您必须显式使用模块中的函数,即您计算机上的文件名,或者您正试图通过internet访问它?如果您试图通过internet访问文件,则需要使用类似于
urllib2
requests
的模块。Python代码正在连接到internet的笔记本电脑上运行。
open
函数用于打开可通过路径名访问的文件<代码>https://yhistory.s3.amazonaws.com/media/userphotos/1_1471378042183_cdv_photo_033.jpg是一个URL,而不是路径名,因此
open
对它不起作用。您必须使用模块中的函数来显式处理通过Internet的请求Python
requests
是一个功能强大的HTTP库,可以方便地处理Cookie和SSL等困难的内容。有关如何解构
请求
响应对象的一些示例,请参阅。此外,由于您使用的服务可能需要登录,因此您可能需要进行两个事务:一个用于提供登录凭据并获取会话cookie,另一个用于获取文件。Python
requests
是一个功能强大的HTTP库,可以方便地处理cookie和SSL等困难的内容。有关如何解构
请求
响应对象的一些示例,请参阅。此外,由于您使用的服务可能需要登录,因此可能需要进行两个事务:一个用于提供登录凭据并获取会话cookie,另一个用于获取文件。
import urllib.request
full_path_filename = 'https://' + settings.AWS_STORAGE_BUCKET_NAME + '.s3.amazonaws.com/' + file_name

file = urllib.request.urlopen(full_path_filename)