Python实现的ftp服务器功能详解【附源码下载】


Posted in Python onJune 26, 2019

本文实例讲述了Python实现的ftp服务器功能。分享给大家供大家参考,具体如下:

python 具备强大的网络编程功能,而且代码简介,用简单的代码,就能实现一个功能强大的FTP 服务器。我亲自测试了这个 python ftp server. 代码下载,在文章的末尾处,整个部署介绍如下:

1. 环境, python 2.7.3 ,centos 6.2 .

2. 定义服务器ip ,端口等信息,可以在下载的源码中查看

listen_ip = "192.168.4.128" # ftp server 的 ip 地址
listen_port = 2111 # ftp 端口,默认21,这里我设置成2111.
conn_list = []
root_dir = "/home/summer/ftp" # 这是定义的ftp目录,可以改成你想要的.
max_connections = 500
conn_timeout = 120

3. 搭建一个测试ftp 目录

/home/summer/ftp 目录下,新建 目录 :anonymous ,这是为了支持匿名用户的

/home/summer/ftp 目录下,新建 目录 :yihaomen, 目录名也就是用户名,然后再yihaomen 目录下创建 ".xxftp" 目录,然后在此目录中建立一个文件 password, 并用 vi 编辑,添加内容为"5f4dcc3b5aa765d61d8327deb882cf99" 其实这就是 "password"  的 md5 加密后的字符串.

Python实现的ftp服务器功能详解【附源码下载】

4. 现在启动 python Ftp脚本,启动后会显示提示: ftpd is listening on  192.168.4.128:2111

5. 找一台windows 机器登陆:用户名:yihaomen,密码:password

Python实现的ftp服务器功能详解【附源码下载】

由于我们开启了匿名用户,所以不用登陆也是可以的。
登陆之后,你就可以创建文件夹,添加删除文件了。

Python实现的ftp服务器功能详解【附源码下载】

6. 回到 centos 服务器上面,你会发现 你添加的东西已经生效。

用这种方法,可以很灵活的实现一个自己需要的FTP server ,而且也很好继承到各种环境中,也很方便.

完整实例代码点击此处本站下载

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
在Python的列表中利用remove()方法删除元素的教程
May 21 Python
Python中列表和元组的相关语句和方法讲解
Aug 20 Python
深入理解Python中range和xrange的区别
Nov 26 Python
pandas数值计算与排序方法
Apr 12 Python
用python建立两个Y轴的XY曲线图方法
Jul 08 Python
Python中的类与类型示例详解
Jul 10 Python
python3的print()函数的用法图文讲解
Jul 16 Python
详解python列表(list)的使用技巧及高级操作
Aug 15 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
Jun 29 Python
python读取xml文件方法解析
Aug 04 Python
Python 的 __str__ 和 __repr__ 方法对比
Sep 02 Python
Python自动化测试PO模型封装过程详解
Jun 22 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 #Python
python读csv文件时指定行为表头或无表头的方法
Jun 26 #Python
对Python3之方法的覆盖与super函数详解
Jun 26 #Python
python调用pyaudio使用麦克风录制wav声音文件的教程
Jun 26 #Python
python装饰器常见使用方法分析
Jun 26 #Python
解决python super()调用多重继承函数的问题
Jun 26 #Python
Python实现获取系统临时目录及临时文件的方法示例
Jun 26 #Python
You might like
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
php日期操作技巧小结
2016/06/25 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
input输入框的自动匹配(原生代码)
2013/03/19 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
jquery radio 动态控制选中失效问题的解决方法
2018/02/28 jQuery
详解vue 自定义marquee无缝滚动组件
2019/04/09 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
Python连接phoenix的方法示例
2017/09/29 Python
pycham查看程序执行的时间方法
2018/11/29 Python
Python使用正则表达式分割字符串的实现方法
2019/07/16 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
Python实现动态给类和对象添加属性和方法操作示例
2020/02/29 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
python绘图模块之利用turtle画图
2021/02/12 Python
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
Groupon比利时官方网站:特卖和网上购物高达-70%
2019/08/09 全球购物
调解员先进事迹材料
2014/02/07 职场文书
青年文明号复核材料
2014/02/11 职场文书
小组合作学习反思
2014/02/18 职场文书
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
财务会计专业自荐书
2014/06/30 职场文书
四风问题个人剖析材料
2014/10/07 职场文书
php中pcntl_fork详解
2021/04/01 PHP
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js
Django基础CBV装饰器和中间件
2022/03/22 Python
python获取字符串中的email
2022/03/31 Python