FastDfs的python3和python2客户端

py3Fdfs的Python项目详细描述


#fdfs_client py

FastDfs 4.06版的python接口。


导入fdfs_client.client模块
2。实例化类fdfs_client
3。从fdfs_client.client import调用memeber函数

>>;>;client=fdfs_client('/etc/fdfs/client.conf')
>;>;ret=client.upload_by_filename('test')
>;>;ret
{'组名':'group1','status':'upload successed','remote file'u id':'group1/m00/00/00/00/
wkjzh0'wkjzh0'xar63rexnaaaadqbnk5e1398.py','uplo上载大小''6.0kb','localfile name':'test'
,'storage ip':'192.168.243.133'}


《api参考



《api参考








u文件名(self,file name,meta-dict=none)
'
'
将文件上载到存储服务器。
参数:
@file name:string,将上载的文件名
@meta-dict:dictionary,例如:{
'ext-name':'jpg',
'file-size':'10240b',
'width':"160px",
"hight":"80px"
}meta-dict可以为空
@return dict{
"group name":group-name,
"remote file-id":remote-file-id,
"status":"upload successed.",
"本地文件名":本地文件名,
"上载大小":上载大小,
"存储IP":存储IP
}如果成功,则无

*按缓冲区上载(自身、文件缓冲区、文件扩展名=无,meta-dict=none)
"
"将缓冲区上载到存储服务器。
参数:
@file buffer:string,buffer
@file-ext-name:string,file-extend-name
@meta-dict:dictionary例如:{
'ext-name':'jpg',
'file-size':'10240b',
"宽度":"160px",
"高度":"80px"
}
@返回dict{
"组名":组名,
"远程文件ID":远程文件ID,
"状态":"上载成功",
"本地文件名":",
"上载大小":上载大小,
"存储IP":存储IP
}
"


*按文件名上载从文件名(自文件名,文件名,远程文件名,前缀名,\
meta_dict=none)
"
"将从属文件上载到存储服务器。
参数:
@file name:string,本地文件名
@remote_file_id:string,远程文件ID
@前缀名称:字符串
@meta-dict:dictionary例如:{
'外部名称':'jpg',
'文件大小':'10240b',
'宽度':'160px',
"hight":"80px"
}
@return dictionary{
"status":"upload slave successed.",
"local file name":本地文件名,
"uploaded size":上载大小,
"remote file id":远程文件id,
"存储IP":存储IP
}
'


*按缓冲区上载从缓冲区(self、file buffer、remote_file_id,\
meta_dict=none,文件扩展名=无)
"
"
按缓冲区上载从属文件
参数:
@file buffer:string
@remote_file_id:string
@meta_dict:dictionary例如:{
"扩展名":"jpg"
"文件大小":"10240b",
"宽度":"160px",
"高度":"80px"
}
@return dictionary{
"状态":"上载从属成功。",
"本地文件名":本地文件名,
"上载大小":上载大小,
"远程文件ID":远程文件ID,
"存储IP":存储IP
}
'


*按文件名上载附加程序(self,local_file name,meta_dict=none)
'
'
按文件名上载附加程序文件。
参数:
@local_filename:string
@meta dict:dictionary例如:{
"ext_name":"jpg",
'文件大小':'10240b',
'宽度':'160px',
'高':'80px'
}注意:可以为空
@返回dict{
'组名':组名,
'远程文件id':远程文件id,
"状态":"上载成功。",
"本地文件名":",
"上载大小":上载大小,
"存储IP":存储IP
}
"


*按缓冲区上载附加程序(self,file buffer,file-ext-name=none,meta-dict=无)
'
将缓冲区上载到存储服务器。
参数:
@file buffer:string
@file-ext-name:string,可以为null
@meta-dict:dictionary,可以为null
@return-dict{
"group name":group-name,
"远程文件ID":远程文件ID,
"状态":"上载成功"。
"本地文件名":",
"上载大小":上载大小,
"存储IP":存储IP
}
"


*删除文件(self,远程文件id)
"
"从存储服务器中删除文件。
参数:
@remote_file_id:string,存储服务器上文件的文件id
@return tuple('delete file successed.',remote_file_id,storage_ip)
"

*下载到文件(self,本地文件名,远程文件ID,偏移量=0,下字节=0)
'
从存储服务器下载文件。
参数:
@local文件名:字符串,文件本地名称
@remote文件ID:string,存储服务器上文件的文件ID
@offset:long
@down-bytes:long
@return dict{
"远程文件ID":远程文件ID,
"内容":本地文件名,
"下载大小":下载大小,
"存储IP":存储IP
}
'


*下载到缓冲区(self,remote_file_id,offset=0,down_bytes=0)
'
'
从存储服务器下载文件并存储在缓冲区中。
参数:
@remote_file_id:string,存储服务器上文件的文件ID
@offset:long
@down-bytes:long
@return dict{
"远程文件ID":远程文件ID,
"内容":文件缓冲区,
"下载大小":下载大小,
"存储IP":存储IP
}
'


*列出一个组(self,group\u name)
'
'
列出一个组信息。
参数:
@组名:字符串,组名将是list
@返回组信息,实例
'


*列出所有组(self)
'
'>列出所有组信息。
@return dictionary{
"groups count":组计数,
"groups":组列表存储IP=无)
'
'
列出组中的所有存储服务器信息
参数:
@组名称:字符串
@返回字典{
"组名称":组名称,
"服务器":服务器列表,
}
'


*获取元数据(self,远程文件id)
'
>获取远程文件的元数据。
参数:
@远程文件id:string,远程文件id
@返回字典,元数据
'


*设置元数据(self,远程文件id,\
meta_dict,op_flag=storage_set_meta data_flag_overwrite)
"
"设置远程文件的元数据。
参数:
@remote_file_id:string
@meta_dict:dictionary
@op_flag:char,'o'表示覆盖,'m'表示合并
@return dictionary{
'status':status,
'storage ip':storage_ip
}
'

*append_by_filename(self,local_filename,远程文件id)
'
附加存储服务器的文件
参数:
@local_file name:string
@remote_fileid:string
@return dict{
"组名":组名,
"远程文件id":远程文件id,
"状态":"上载成功。",
"本地文件名":",
"上载大小":上载大小,
"存储IP":存储IP
}
"


*按缓冲区(自身,文件缓冲区,远程文件ID)
'
附加存储服务器的文件
参数:
@file_buffer:string
@remote_file id:string
@return dict{
"组名":组名,
"远程文件ID":远程文件ID,
"状态":"上载成功。",
"本地文件名":",
"上载大小":上载大小,
"存储IP":存储IP
}
"


*截断文件(自身,截断的文件大小,appender_fileid)
'
在存储服务器中截断文件。
参数:
@截断的文件大小:long
@appender_fileid:remote_fileid
@return:dictionary{
"状态":截断成功,
"存储IP":存储IP
}
'

*modify_by_file name(self,filename,appender_fileid,offset=0)
'
>按文件名修改存储服务器中的文件。
参数:
@filename:string,本地文件名
@offset:long,文件偏移量
@appender_fileid:string,远程文件id
@return:dictionary{
"status":"modify successed.",
"storage ip":存储ip
}
"


*按缓冲区修改(self,file buffer,appender\fileid,偏移量=0)
'
按缓冲区修改存储服务器中的文件。
参数:
@file buffer:string,file buffer
@offset:long,file offset
@appender_fileid:string,远程文件id
@return:dictionary{
"status":"modify successed.",
"storage ip":存储ip
}
"


fdfs_u client-py使用连接池来管理到
跟踪服务器和存储服务器集的连接。




稍后。

作者
----


fdfs_client-py由scott yuan(scottzer8@gmail.com)开发和维护


fdfs_client-py由hay86修复和维护

redis py的作者mccurdy引用了他的代码。
*g.rodola,作者sendfile module for python,g.rodola@gmail.com

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

推荐PyPI第三方库


热门话题
安卓 Java LibGDX对内存使用感到困惑   使用@Generated的java自动增量   对名称java:comp/env/jdbc/bar进行间接查找时发生WebSphere NameNotFoundException   Java 8 lambda风格的JDBC语句执行包装器   java如何实现PushCacheFilter   java如何停止和启动jms侦听器   java确定数组中特定元素的总和   JavaJSF:如何使用selectOneRadio立即更新支持bean?   java Exo播放器活动   使类受保护时发生java错误   spring获得java。lang.IllegalArgumentException:只有SSLv3在com中启用。国际商用机器公司jsse2。disableSSLv3设置为TRUE   在java中打印垂直直方图时出现格式错误   Selenium Java处理不同语言和位置以及设置动态体系结构的最佳实践?   java实用程序方法传递文件或字符串?