1 行 Python 代码快速实现 FTP 服务器


Posted in Python onJanuary 25, 2018

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

1 行 Python 代码快速实现 FTP 服务器

当你想快速共享一个目录的时候,这是特别有用的,只需要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 )

1 行 Python 代码快速实现 FTP 服务器

可选参数

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

简单示例

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

1 行 Python 代码快速实现 FTP 服务器

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 服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python编写一个优美的下载器
Apr 15 Python
python获取命令行输入参数列表的实例代码
Jun 23 Python
python实现扫描ip地址的小程序
Apr 16 Python
python中while和for的区别总结
Jun 28 Python
Python如何实现转换URL详解
Jul 02 Python
利用setuptools打包python程序的方法步骤
Jan 18 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
Mar 30 Python
Python绘制全球疫情变化地图的实例代码
Apr 20 Python
pycharm 激活码及使用方式的详细教程
May 12 Python
什么是Python中的顺序表
Jun 02 Python
Django返回HTML文件的实现方法
Sep 17 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 Python
http请求 request失败自动重新尝试代码示例
Jan 25 #Python
Python实现PS图像调整颜色梯度效果示例
Jan 25 #Python
Python使用requests发送POST请求实例代码
Jan 25 #Python
python使用pandas实现数据分割实例代码
Jan 25 #Python
python实现闹钟定时播放音乐功能
Jan 25 #Python
python实现壁纸批量下载代码实例
Jan 25 #Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 #Python
You might like
PHP 第一节 php简介
2012/04/28 PHP
php中判断数组是一维,二维,还是多维的解决方法
2013/05/04 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
总结一些PHP中好用但又容易忽略的小知识
2017/06/02 PHP
php readfile()修改文件上传大小设置
2017/08/11 PHP
音乐播放用的的几个函数
2006/09/07 Javascript
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
[03:11]DOTA2上海特锦赛小组赛第一日recap精彩回顾
2016/02/28 DOTA
Python网络编程之TCP与UDP协议套接字用法示例
2018/02/02 Python
pandas将DataFrame的列变成行索引的方法
2018/04/10 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
python tkinter窗口最大化的实现
2019/07/15 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
python批量生成条形码的示例
2020/10/10 Python
学前教育教师求职自荐信
2013/09/22 职场文书
高三毕业生自我鉴定
2013/12/20 职场文书
军校本科大学生自我评价
2014/01/14 职场文书
党课知识竞赛主持词
2014/04/01 职场文书
房屋租赁委托书范本
2014/10/04 职场文书
Windows11里微软已经将驱动程序安装位置A盘删除
2021/11/21 数码科技
ant design vue的form表单取值方法
2022/06/01 Vue.js
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers
MySQL 原理与优化之Limit 查询优化
2022/08/14 MySQL