FastDfs 4.06版的Python客户端

fdfs_client-p的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如何在设置AtomicBoolean之前检查另一个条件?   通过java将文件从windows计算机复制到另一台windows计算机   java如何在使用Cobertura时忽略与记录器相关的If条件?   java无法在Eclipse中导出Android应用程序   带GSON的java parse JSON返回null   java Extract/filter Splunk查询和条件逻辑   java ProgressBar带有一个倒计时器Android   java我应该为每个DAO编写通用方法的集成测试吗?   java从命令行访问执行JAR的文本文件   任务应用程序的java Gradle生成失败:processReleaseResources   预测函数的java DeepLearning4j NN不收敛   java如果发现特殊字符,如何删除字符串中的字符?   在Java中,从精确位置将字符串拆分为两个   将Java ByteArrayOutputStream压缩到不同的容器中   带有同心指示方块的java太空船模拟器制导计算机   java如何使用Jericho解析两条注释?   PersistenceUnit中的java多个类   连接到java中的elasticsearch?   当嵌入HTML页面时,删除java小程序中的外部白色边框   用于webstart的java CXF ClassCastException(SEIStub/ClientProxy)