Amazon S3文件系统for PyFilesystem2,默认为流式和非限制

fs-s3fs-ng的Python项目详细描述


S3FS是一个PyFilesystem接口 Amazon S3云存储。在

作为一个PyFilesystem具体类, S3FS允许您工作 与任何其他受支持的文件系统一样使用S3。在

安装

您可以从pip安装S3FS,如下所示:

pip install fs-s3fs-ng

打开S3FS

通过显式使用构造函数打开S3FS:

^{pr2}$

或使用FS URL:

fromfsimportopen_fss3fs=open_fs('s3://mybucket')

正在下载文件

要从S3存储桶中download文件,请打开S3文件系统上的一个文件 对于读取,然后将数据写入本地文件系统上的文件。 下面是一个将文件example.mov从S3复制到HD的示例:

fromfs.toolsimportcopy_file_datawiths3fs.open('example.mov','rb')asremote_file:withopen('example.mov','wb')aslocal_file:copy_file_data(remote_file,local_file)

虽然最好使用 fs.copy模块。下面是一个例子:

fromfs.copyimportcopy_filecopy_file(s3fs,'example.mov','./','example.mov')

正在上载文件

您可以以相同的方式上载文件。只需从源复制一个文件 文件系统到S3文件系统。见Moving and Copying 了解更多信息。在

附加参数

除了传统的文件系统之外,S3对象还有其他属性。 可以使用upload_args和^{tt4}设置这些选项$ 属性。上传和下载方法,如 适用于文件系统实例的生存期。在

例如,设置上传的所有对象的cache-control头 对于一个桶:

importfs,fs.mirrors3fs=S3FS('example',upload_args={"CacheControl":"max-age=2592000","ACL":"public-read"})fs.mirror.mirror('/path/to/mirror',s3fs)

the Boto3 docs 了解更多信息。在

为了方便起见,aclcache_control显式公开, 并且可以在url中使用。重要的是URL转义 cache_control值,因为它可能包含特殊字符。在

importfs,fs.mirrorwithopenfs.open_fs('s3://example?acl=public-read&cache_control=max-age%3D2592000%2Cpublic')ass3fsfs.mirror.mirror('/path/to/mirror',s3fs)

S3 URL

您可以获取S3存储桶上文件的公共URL,如下所示:

movie_url=s3fs.geturl('example.mov')

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java应用程序不是在Eclipse中运行,而是在命令行中运行   swing Java图形组件问题。似乎找不到错误   我需要键盘。close();让代码正常工作?   Springboot中的java HttpSession   抽象语法树我想添加一个语句。我试图解析它,java解析器异常被抛出。如何克服它?   java Hibernate:清理会话   具有不连续子集的java划分问题   java正则表达式查找最后一个冒号后的字符串   java从SpringShell执行OS命令   Java扫描器字符串输入   java字符串索引越界异常(charAt)   java执行器服务终止被卡住   Springockito没有继承java@ContextConfiguration   java如何为一个servlet映射多个url   java安卓获取命令的stderr   java生成类型。表:数据库中的大数字   安卓 Getter Setter返回NothingJava