当你想快速共享一个目录的时候,这是特别有用的,只需要1行代码即可实现。

FTP 服务器,在此之前我都是使用Linux的vsftpd软件包来搭建FTP服务器的,现在发现了利用pyftpdlib可以更加简单的方法即可实现FTP服务器的功能。

环境要求

Python 2.7
Windows / Linux

环境搭建

一行代码实现FTP服务器

通过Python的-m选项作为一个简单的独立服务器来运行,当你想快速共享一个目录的时候,这是特别有用的。

在需要共享的目录下执行如下命令即可把当前目录共享出去(匿名登录)

至此一个简单的FTP服务器已经搭建完成,访问 ftp://127.0.0.1:2121 即可
(默认IP为 127.0.0.1 、端口为 2121 )

可选参数

-i 指定IP地址(默认为本机的IP地址)
-p 指定端口(默认为2121)
-w 写权限(默认为只读)
-d 指定目录 (默认为当前目录)
-u 指定用户名登录
-P 设置登录密码

简单示例

上述的一行命令已经可以实现一个简单的FTP服务器,但是要搭建一个功能强大完善的FTP服务所涉及到的配置较多,这时需要使用Pyftpdlib提供的 API 来编写。如下是一个简单的示例

perm权限选项

读取权限:

“e” =更改目录(CWD,CDUP命令)
“l” =列表文件(LIST,NLST,STAT,MLSD,MLST,SIZE命令)
“r” =从服务器检索文件(RETR命令)

写入权限:

“a” =将数据追加到现有文件(APPE命令)
“d” =删除文件或目录(DELE,RMD命令)
“f” =重命名文件或目录(RNFR,RNTO命令)
“m” =创建目录(MKD命令)
“w” =将文件存储到服务器(STOR,STOU命令)
“M”=更改文件模式/权限(SITE CHMOD命令)
“T”=更改文件修改时间(SITE MFMT命令)

参考

Pyftpdlib文档:http://pyftpdlib.readthedocs.io/en/latest/index.html

用 1 行 Python 代码实现 FTP 服务器 - Pyftpdlib相关推荐

  1. python ray定时_使用 Ray 用 15 行 Python 代码实现一个参数服务器

    使用 Ray 用 15 行 Python 代码实现一个参数服务器 参数服务器是很多机器学习应用的核心部分.其核心作用是存放机器学习模型的参数(如,神经网络的权重)和提供服务将参数传给客户端(客户端通常 ...

  2. python写一个游戏多少代码-使用50行Python代码从零开始实现一个AI平衡小游戏

    集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何用 50 行 Python 代码创建一个 AI,使用增强学习技术,玩耍一个保持杆子平衡的小游戏.所用环境为标准的 OpenAI Gym, ...

  3. bert获得词向量_只需几行 Python 代码,即可用 BERT 玩转词嵌入!

    作者 | Anirudh_S 译者 | Sambodhi 编辑 | 张之栋 AI 前线导读: 在自然语言处理领域中,诞生于 2018 年末的 BERT 非常的"火热".强悍如 BE ...

  4. python实现直播功能rtmo_30 行 Python 代码实现 Twitch 主播上线实时通知

    在 freeCodeCamp 社区阅读原文. 大家好 :) 今天我将开始写作一个新的文章系列,特别面向 Python 初学者.简言之,我将会尝试更多新的工具,编写尽可能少的代码,来完成一个有趣的项目. ...

  5. 50行python游戏代码_使用50行Python代码从零开始实现一个AI平衡小游戏

    使用50行Python代码从零开始实现一个AI平衡小游戏 发布时间:2020-10-23 09:26:14 来源:脚本之家 阅读:74 集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何 ...

  6. 用几行python代码获取Yahoo,tushare股票数据,超级爽!!(比爬网好太多)

    在网上获取股票信息有非常多的方法,在此分享用几行Python代码就搞定想要的股票历史数据,一个是国外Yahoo的接口(缺点是比较慢),另一个是国内的tushare接口(速度快,但限制比较多):少废话先 ...

  7. 10行 python 代码做出哪些酷炫的事情?

    来源 | Python小二 Python凭借其简洁的代码,赢得了许多开发者的喜爱.因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的 ...

  8. 几行 Python 代码实现邮件解析,超赞~

    作者 | Yunlor 来源 | CSDN博客 前言 如何通过python实现邮件解析?邮件的格式十分复杂,主要是mime协议,本文主要是从实现出发,具体原理可以自行研究. 一.安装 通过mailgu ...

  9. DeepMind提图像生成的递归神经网络DRAW,158行Python代码复现

    作者 | Samuel Noriega 译者 | Freesia 编辑 | 夕颜 出品 | AI科技大本营(ID: rgznai100) [导读]最近,谷歌 DeepMInd 发表论文( DRAW: ...

最新文章

  1. 比用Pytorch框架快200倍!0.76秒后,笔记本上的CNN就搞定了MNIST | 开源
  2. VMware Esxi5.1.0开启ssh服务的方法
  3. Python面向对象:isinstance和issubclass
  4. MapReduce 规划 系列十 采用HashPartitioner调整Reducer计算负荷
  5. 高频交易鼻祖竟是靠「金发女郎」取得了400%的年回报
  6. android+8.0代码安装包,Android 8.0安装apk的实例代码
  7. 教你写一个弹幕库,确定不了解一下?,请查收
  8. Ubuntu16.04安装(QQ.exe)
  9. 艾永亮:新能源汽车补贴退潮后,谁在裸奔,各大车企该如何应对
  10. Rust:FFI 编程中的 CStr 和 CString
  11. eclipse下载速度过慢的解决方法
  12. 安卓手机如何查看手机控制台输出
  13. 四川E900s-Hi3798MV100-黑盒8G版-黄标签高安版-5800-2AHPM6B-当贝桌面强刷卡刷包
  14. 无人驾驶及Apollo开源平台技术教程
  15. 618将至,各产品营销活动通用文案合集分享,有需要的进
  16. Android 11.0 系统Settings去掉开发者模式功能
  17. 统一配置中心对比介绍
  18. PPT设计思维干货分享(一)
  19. python常见错误 TypeError: 'NoneType' object is not iterable
  20. Sorry, this application cannot run under a Virtual Machine的解决

热门文章

  1. php用字母数字生成用户名,请问生成字母加数字
  2. 论文理解(一)树形lstm
  3. 数据结构排序系列详解之一 插入排序
  4. boost::asio async_write也不能保证一次发完所有数据 二
  5. LTE学习:CCE(control channel element)控制信道单元(1)
  6. 马云:电商之王还想怎样(转)
  7. 压缩 质量不变_来了!业内首个HEIF图像高质量压缩FPGA加速方案
  8. 上海的雨什么时候才可以停...
  9. 冰城环保进入智慧时代
  10. ZABBIX 3.2 基础安装