FastDfs 4.06版的Python客户端

py-fdfs-client的Python项目详细描述


#fdfs_client py

FastDfs 4.06版的python接口。


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

>>>gt>gt>gt;从fdfs客户机客户端导入
>>>gt>gt>gt;客户机=fdfs客户机('/etc/fdfs/client.conf')
>>gt>gt;ret=client.client。上传由谁谁的文件名('test')
>>gt>gt;ret
{'group name':'group1','status':'upload successed','remote file'id':'group1/m00/00/00/00/00/00/
wkjjf客户机=fdfs客户机('/etc/etc/fdfs/fdfs/client/client.conf/client.ZH0_xar63re型'upload size''6.0kb','local file name''test'
,'storage ip''192.168.243.133'}


;api参考




fdfs类客户端:


>成员函数:



*uploadu-by-by-u文件名(self,filename,meta-dict=none)
'
''
>上传文件到存储服务器。
br/>参数:
@file name:string,将上载的文件名
@meta-dict:dictionary,例如:{
'ext-name':'jpg',
'file-size':'10240b',
'width':'160px',
'hight':'80px'
}meta-dict可以为空
@return-dict{
'group-name':group-name,
"远程文件ID":远程文件ID,
"状态":"上载成功。",
"本地文件名":本地文件名,
"上载大小":上载大小,
"存储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",
"width":"160px",
"hight":"80px"
}
@return dict{
"group name":组名,
"remote file id":远程文件id,
"status":"upload successed.",
"local file name":",
"upload size":上载大小,
"存储IP":存储IP
}
'


*按文件名上载从文件(self,文件名,远程文件ID,前缀名称,\
meta dict=none)
'
'
将从文件上载到存储服务器。
参数:
@file name:string,本地文件名
@remote文件ID:string,远程文件ID
@前缀名:string
@meta-dict:dictionary例如:{
'ext-name':'jpg',
'file-size':'10240b',
'width':'160px',
'hight':'80px'
}
@return dictionary{
'status':'upload slave successed',
'local file name':本地文件名,
"上载的大小":上载大小,
"远程文件ID":远程文件ID,
"存储IP":存储IP
}
"


*按缓冲区上载从文件(self、file buffer、远程文件ID,\
meta dict=none、file-ext=none)
"
按缓冲区上载从属文件
参数:
@file buffer:string
@remote_file_id:string
@meta_dict:dictionary例如:{
"ext_name":"jpg",
"file_size":"10240b",
"width":"160px",
"hight":"80px"
}
@return dictionaryy{
"状态":"上载从属成功。",
"本地文件名":本地文件名,
"上载大小":上载大小,
"远程文件ID":远程文件ID,
"存储IP":存储IP
}
'

*按文件名上载附加程序(自身,本地附加程序文件名,meta dict=none)
'
'
按文件名上载附加程序文件。
参数:
@本地附加程序文件名:字符串
@meta dict:dictionary例如:{
"ext-name":"jpg",
"文件大小":"10240b",
'width':'160px',
'hight':'80px'
}注意:可以为空
@return dict{
'group name':组名,
'remote file id':远程文件id,
'status':'upload successed',
'local file name':',
'upload size':上载大小,
"存储IP":存储IP
}
'


*upload_appender_by_buffer(self,filebuffer,file_ext_name=none,meta_dict=none)
'
将缓冲区上载到存储服务器。
参数:
@filebuffer:string
@file_ext_name:string,可以为空
@meta dict:dictionary,可以为空
@return dict{
"组名":组名,
"远程文件ID":远程文件ID,
"状态":上载成功,
"本地文件名":",
"上载大小":上载大小,
"存储IP":存储IP
'

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

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


*下载到缓冲区(自,远程文件ID,偏移量=0,向下字节=0)
'
'
从存储服务器下载文件并存储在缓冲区中。
ar元素:
@remote_file_id:string,存储服务器上文件的文件id
@offset:long
@down_bytes:long
@return dict{
"远程文件id":远程文件id,
"内容":文件缓冲区,
"下载大小":下载大小,
"存储IP":sto愤怒IP
}
'


*列出一个组(自身,组名)
'
>列出一个组信息。
参数:
@组名:字符串,组名为list
@返回组信息,实例
'


*列出所有组(自身)
'
>列出所有组信息。
@return dictionary{
"组计数":组计数,
"组":组列表
}
"


*列出服务器(自身、组名称、存储IP=无)
"
"列出组中的所有存储服务器信息
参数:
@组名称:字符串
@返回字典{
"组名称"":组名,
‘服务器’:服务器列表,
}
'


*获取远程文件的元数据(self,远程文件id)
'
'
获取远程文件的元数据。
参数:
@remote文件id:string,远程文件id
@return dictionary,元数据
'

*设置元数据(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
}
"


*截断存储服务器中的文件(自我、截断的文件大小、追加的文件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修复和维护的bug


可以在以下位置找到它: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)