FastDFS客户端(Python版)指南

最近做了一个分布式的项目用到了FastDFS,关于FastDFS这里就不阐述了,有兴趣了解的小伙伴,请到官网:http://bbs.chinaunix.net/forum-240-1.html。这里着重介绍FastDFS客户端(Python版),此版客户端已经用于实际项目,目前运行稳定。项目托管于git,地址:https://github.com/cosysun/FastDFSClient_Python.git。

一、原理

在官方C++客户端的基础上重新封装C++接口,并提供给Python调用

二、优势

1、 效率比纯python版本的要高

2、易于维护,与官网C++客户端更新同步

3、稳定性好

三、安装说明

本人采用的安装环境是 CentOS 6.4 64bit,具体步骤如下:

1、复制ClientForPython到FastDFS源代码client目录下

2、复制json库 cp json/lib/* /usr/local/lib/ ldconfig

这里的JSON库是我在CentOS下编译的,有可能在其他系统上有冲突,请下载源码重新编译,地址:https://github.com/open-source-parsers/jsoncpp.git

3、接入client目录下 执行Make

请注意Makefile请根据Fastdfs安装目录做修改

四、接口介绍

1、fdfs_init(参数1 日志等级) 初始化Fastdfs客户端

参数1:字符串 FastDFS客户端配置文件目录, 比如:"/etc/fdfs/client.conf"

参数2:整形 打印日志等级 总共有七级

LOG_EMERG = 0
LOG_ALERT = 1
LOG_CRIT = 2
LOG_ERR = 3
LOG_WARNING = 4
LOG_NOTICE = 5
LOG_INFO = 6
LOG_DEBUG = 7

2、fdfs_download(参数1, 参数2) 下载文件

参数1: 字符串 所在的Fastdfs组名 例如:group2

参数2: 字符串 具体存放路径 例如:M00/00/00/CgEIzVRlv3SAYJCTAAAsFwWtoVg9432330

3、fdfs_upload(参数1, 参数2) 上传文件

参数1: 字符串 文件内容

参数2: 字符串 文件后缀  默认可为空 “”

4、fdfs_delete(参数1, 参数2) 删除文件

参数1: 字符串 所在的Fastdfs组名 例如:group2

参数2: 字符串 具体存放路径 例如:M00/00/00/CgEIzVRlv3SAYJCTAAAsFwWtoVg9432330

5、监控FastDFS信息

list_all_groups()  监控所有group信息

list_one_group("IP地址") 监控指定ip信息

list_storages("组名", "IP地址")  监控某组下storages的信息,如果ip不为空则监控全部,

五、使用范例

请参考test目录下测试用例

六、联系

有问题的小伙伴,请加入 群:291368579

时间: 2024-10-09 05:08:50

FastDFS客户端(Python版)指南的相关文章

Python权威指南的10个项目(1~5)

引言:??我相信学习Python过的朋友,一定会喜欢上这门语言,简单,库多,易上手,学习成本低,但是如果是学习之后,不经常使用,或者工作中暂时用不到,那么不久之后又会忘记,久而久之,就浪费了很多的时间再自己的"曾经"会的东西上.所以最好的方法就是实战,通过真是的小型项目,去巩固,理解,深入Python,同样的久而久之就不会忘记.??所以这里小编带大家编写10个小型项目,去真正的实操Python,这10个小型项目是来自<Python权威指南>中后面10个章节的项目,有兴趣的朋

Python权威指南的10个项目(6~10)

6. 项目6:使用CGI进行远程编辑   这个项目主要用的是的CGI进行远程编辑--在另一台机器上通过Web来编辑 文档.你在一台机器上存储了一个文档,希望能够在另一台机器上通过Web来编辑它.这让多个用 户能够协作编辑一个文档,且无需使用FTP或类似的文件传输技术,也无需操心同步多个副本的 问题.要编辑文件,只要有Web浏览器就行. (1) 问题描述 能够以普通网页的方式显示文档. 能够在Web表单的文本区域内显示文档 用户能够保存表单中的文本 程序应使用密码对文档进行保护 程序应易于扩展,以

微信支付SDK(python版)

最近一段时间一直在搞微信平台开发,最近的v3.37版本微信支付接口变化贼大,所以就看着php的demo移植为 python版,为了保持一致,所以接口方法基本都没有变,这样的好处就是不用写demo了,看着微信官方的demo 照葫芦画瓢就可以了. 我已经把代码放到github了,https://github.com/Skycrab/wzhifuSDK,我主要测试了JsApi调用方式,其它的调用方式并没有测试,如果你发现了bug,请多多pull request,我将不甚感激. 方便观看,代码贴于此.

【Python】《大话设计模式》Python版代码实现

<大话设计模式>Python版代码实现 上一周把<大话设计模式>看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多.偶尔会用到一些脚本语言写脚本的人来说,很是开阔眼界.<大话设计模式>的代码使用C#写成的,而在本人接触到的面向对象语言中,只对C++和Python还算了解,为了加深对各个模式的理解,我在网上下载了一个C++版的源代码,并根据自己的理解边读这本书边动手实践C++源代码,同时将其改写成了Python代码,算是一箭三雕吧. 由于这些代码的目的是展示各

《大话设计模式》Python版代码实现

上一周把<大话设计模式>看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多.偶尔会用到一些脚本语言写脚本的人来说,很是开阔眼界.<大话设计模式>的代码使用C#写成的,而在本人接触到的面向对象语言中,只对C++和Python还算了解,为了加深对各个模式的理解,我在网上下载了一个C++版的源代码,并根据自己的理解边读这本书边动手实践C++源代码,同时将其改写成了Python代码,算是一箭三雕吧. 由于这些代码的目的是展示各个设计模式而非完成一个具体的复杂任务,基于C++版本

移动端自动化测试Appium 从入门到项目实战Python版

移动端自动化测试Appium 从入门到项目实战Python版 说到APP自动化测试,Appium可是说是非常流行了, 不仅支持多语言.多平台的优势,同时支持Andriod.iOS.H5的自动化测试:本课程会从初级的Appium框架讲起,涉及业界常见的po模型.关键字模型.服务自动化.持续集成等实战讲解,让你快速上手移动端自动化测试工作 appium做app自动化测试,环境搭建是比较麻烦的.也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用.

python之simplejson,Python版的简单、 快速、 可扩展 JSON 编码器/解码器

python之simplejson,Python版的简单. 快速. 可扩展 JSON 编码器/解码器 simplejson Python版的简单. 快速. 可扩展 JSON 编码器/解码器 编码基本的 Python 对象层次结构: import simplejson as json print json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) print json.dumps("\"foo\bar") print json

编码的秘密(python版)

编码(python版) 最近在学习python的过程中,被不同的编码搞得有点晕,于是看了前人的留下的文档,加上自己的理解,准备写下来,分享给正在为编码苦苦了挣扎的你. 编码的概念 编码就是将信息从一种格式转换成另一种格式,计算机只认识二进制,简单的理解,将我们眼睛看到的文字转换为计算机能够识别的二进制格式视为编码,而二进制以某种编码格式转换为我们能看的文字的过程可以看成是解码.既然计算机只能认识二进制0,1,那么我们用的字母.数字和文字等是怎样和他们对应的呢?那就请继续看吧! python中查看

python 版 quicksort 快排

今天看了下苹果xml 解析,写了个小demo 心想还是 在博客上写点东西吧,毕竟很久很久都没有上来了 先上个效果图把 接下来 看下 工程目录图吧 本demo 分两种解析模式,一是苹果自带的, 首先先看下苹果自带的吧,工程文件为 NoteXMLParser 文件 ,另一种解析模式 是 NotesTBXMLParser文件 NoteXMLParser.h 文件代码如下 : // // NoteXMLParser.h // TestXML // // Created by choni on 14-5-