FastDfs 4.07版的Python客户端

fdfs_client的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 f人名号:Group1/M00/00/00/00/
wkjzh0-xar63rexnaaaadqbnk5e1398.py','uplouploadsize''6.0kb','local file name':'test'
,'storage ip':'192.168.243.243.133'}


《api参考资料






>会员函数:



(自我、文件名、元指令=无)
'
将文件上载到存储服务器。
参数:
@file name:string,将上载的文件名
@meta-dict:dictionary,例如:{
"ext-name":"jpg",
"file-size":"10240b",
"width":"160px",
"hight":"80px"
}元指令可以为空
@返回指令{
"组名":组名,
"远程文件ID":远程文件ID,
"状态":上载成功,
"本地文件名":本地FIle_u name,
"上载大小":上载大小,
"存储IP":存储IP
}如果成功,则none

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


*按文件名上载从文件名(self,文件名,远程文件名,前缀名,\
meta-dict=none)
'
'
将从文件上载到存储服务器。
参数:
@file name:string,本地文件名
@远程文件id:string,远程文件id
@前缀名称:string
@meta-dict:dictionary例如:{
'外部名称':'jpg',
'文件大小':'10240b',
'宽度':'160px',
'高度':'80px'
}
@return字典{
"状态":"上载从属成功。",
"本地文件名":本地文件名,
"上载大小":上载大小,
"远程文件ID":远程文件ID,
"存储IP":存储IP
}
"
*按缓冲区上载从属文件(self,file buffer,remote_file_id,\
meta_dict=none,file_ext_name=none)
"
"按缓冲区上载从属文件
参数:
@filebuffer:string
@remote_file_id:string
@meta dict:diction例如:{
'外部名称':'jpg',
'文件大小':'10240b',
'宽度':'160px',
'高度':'80px'
}
@返回字典{
'状态':'上载从属成功',
'本地文件名':本地文件名,
"上载大小":上载大小,
"远程文件ID":远程文件ID,
"存储IP":存储IP
}
'

*upload_appender_by_file name(self,local_filename,meta_dict=none)
'
'
upload an appender file by filename.
参数:
@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=none)
"将缓冲区加载到存储服务器。
参数:
@file buffer:string
@file_ext_name:string,可以为null
@meta_dict:dictionary,可以为null
@return dict{
"group name":group_name,
"remote file_id":remote_file_id,
"状态":"上载成功。",
"本地文件名":",
"上载大小":上载大小,
"存储IP":存储IP
}
'


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


*下载到文件(self,local_filename,remote_file_id,offset=0,down_bytes=0)
'
从存储服务器下载文件。
参数:
@local_file name:string,文件的本地名称
@remote_file_id:string,存储服务器上文件的文件id
@offset:long
@down_bytes:long
@return dict{
'remote file_id':远程文件ID,
"内容":本地文件名,
"下载大小":下载大小,
"存储IP":存储IP
}
'


*下载到缓冲区(自,远程文件ID,偏移=0,向下字节=0)
'
'
e从存储服务器并存储在缓冲区中。
参数:
@remote_file_id:string,存储服务器上的文件的文件id
@offset:long
@down_bytes:long
@return dict{
"remote file_id":remote_file_id,
"content":file_buffer,
"下载大小":下载大小,
"存储IP":存储IP
}
"


*列出一个组(self,group_name)
"
"列出一个组信息。
参数:
@group_name:string,group name将是list
@返回组信息,实例
'


*列出所有组(self)
'
'
列出所有组信息。
@返回字典{
"组计数":组计数,
"组":组列表
}
'


*列出服务器(self,组名,存储IP=none)
"
"列出组中的所有存储服务器信息
参数:
@组名:字符串
@返回字典{
"组名":组名,
"服务器":服务器列表,
}
"

"eta_data(self,remote_file_id)
'
获取远程文件的元数据。
参数:
@remote_fileid:string,remote file id
@return dictionary,meta data
'

*设置元数据(self,remote_file_id,\
meta dict,op_flag=storage_设置元数据标志覆盖)
'
设置远程文件的元数据。
参数:
@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
}
"


*截断存储服务器中的文件(自我、截断的文件大小、追加的文件ID)
"
"截断存储服务器中的文件。
参数:
@截断的文件大小:long
@appender_fileid:remote_fileid
@return:dictionary{
"status":"truncate successed.",
"storage ip":storage_ip
}
"


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


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


服务器和存储服务器。



dfs\u client-py是由hay86修复和维护的错误


可以在这里找到它:http://github.com/hay86/fdfs\u client-py


>特别感谢:

*redis-py的作者andy mccurdy引用了他的代码。
*g.rodola,python的作者sendfile模块,g.rodola@gmail.com

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

推荐PyPI第三方库


热门话题
java如何在JUNIT/Mockito中验证以下情况   Map<A,List<B>>元素的Java组合算法   java为什么mvn dependency:purgelocalrepository不获取与mvn install相同的依赖项?   java如何将输入转换为程序能够理解的方法   java使用Jackson ObjectMapper的默认展开序列化程序   java SpringBoot:400错误请求错误,即使参数存在   java使用“Spring数据Jpa查询”检索“hibernate代理对象”列表   java JSON返回空内容   用某些整数表示字符串的java   java上传一个文件。来自REST服务的二进制输入流zip文件   java截击请求在单击按钮时执行两次   返回存储长值所需的字节数的java函数   Java将嵌套的Json对象反序列化为Java对象   使用差分bean服务的JavaSpring测试   Lucene 4.0中的java术语频率   java基本实体和可序列化   java CArray和Array在PyTables之外的兼容性   什么是Java中的备份集合?   java如何防止用户关闭我的应用程序?(Linux触摸屏应用程序)   JavaSpark:运行时reduce元素的技术术语?