PyFileSystem2的阿里云OSS文件系统

fs-ossfs的Python项目详细描述


ossfs是 阿里云OSS云存储。

作为pyfilesystem的具体类, OSSFS允许您工作 与任何其他受支持的文件系统一样使用oss。

安装

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

pip install fs-ossfs

打开OSSFS

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

fromfs_ossfsimportOSSFSossfs=OSSFS('mybucket')

或使用fs url:

fromfsimportopen_fsossfs=open_fs('oss://mybucket')

下载文件

要从oss bucket中下载文件,请在oss上打开一个文件 文件系统进行读取,然后将数据写入本地文件 文件系统下面是一个从中复制文件example.mov的示例 OSS到您的高清:

fromfs.toolsimportcopy_file_datawithossfs.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(ossfs,'example.mov','./','example.mov')

上载文件

您可以用同样的方法上载文件。只需从源复制文件 文件系统到OSS文件系统。见Moving and Copying 更多信息。

附加参数

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

例如,要设置上载的所有对象的cache-control头 桶:

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

the Boto3 docs 更多信息。

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

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

OSS网址

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

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

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

推荐PyPI第三方库


热门话题
JavaMaven没有识别junit测试   正则表达式替换Java中字符串中的所有“(“and”)”   文件移动到另一台计算机时出现java错误“实例化servlet类”   服务器上的java服务   Spring数据JPA上的java嵌套@Transactional注释行为   eclipse中的Java Tomcat项目   java在Tomcat上部署web应用程序   如何解决“java.lang.IllegalStateException:ArrayAdapter要求资源ID为TextView”错误?   java在条形码上方添加文本,并使用烧烤更改字体大小   java与php基准测试   java使用正则表达式提取特定模式   java扫描器。findInLine()大量泄漏内存   java HTTP:差异请求属性和POST参数   返回空指针的Java方法?   java验证密码不包含名称中的3个以上连续字符   Java中带泛型的静态多态性   java在Android中获得最后一个已知位置   java为什么Groovy的Map比Array更具可伸缩性?   编码如何在Java中生成八进制字符串?   java Hibernate:使用单例会话写入日志(无刷新)