Python一秒搭建ftp服务器,帮助你在局域网共享文件
“老板 来碗面”
“要啥面?”
“内牛满面..”
最近项目上的事情弄得人心累,本来是帮着兄弟项目写套入口代码,搞着搞着就被拉着入坑了。搞开发的都知道,最怕弄这种项目portal的东西,你调用一堆东西,结果各种调用报错都反馈到你这里,导致的结果就是除了啥问题都找你。
最形象的比喻就是,眼前一栋楼,你是看门的。电梯坏了找你、住户被盗了找你、连谁家下水不通了也找你,各种无厘头的破事儿,我就想送出一张图…
共享文件
熟悉Python的朋友们都知道,python自带了一个Simple HTTP Server,可以使用一行代码完成文件的局域网共享操作。
首先进入你需要设置的http服务器目录 (我以自己电脑路径:F:/Working~Study) ,即进入到该目录下,然后:
-
python2:
python -m SimpleHTTPServer port
-
python3:
python -m http.server port
我是用一个8888的端口启动服务,最终的共享效果,如下图:
通过一行代码,我们完成了文件共享的http服务,但这个服务有几个问题,仅提供了下载功能无法上传,最重要的是没有权限控制功能,这就极其不安全了!该如何解决这个问题呢?我之前用Flask写了一个功能更完善的httpserver:
喜欢的朋友可以去看看这篇历史文章: https://www.jianshu.com/p/a5c4dca321f2
通过自己编码的方式实现了相关功能,但是能否想httpserver一样更快速的搭建一个文件共享服务器呢?此时,你应该想到ftp服务器!没错,ftp服务器不仅可以达到文件共享的大前提,还能通过设置用户名密码的方式来实现权限管理。用Python实现它麻烦么?不麻烦,也只需要一行代码!
Ftp服务器搭建
模块安装
python没有内置ftp模块,但要使用它却很简单,我们只需要简单的通过pip安装即可:pip install pyftpdlib
简单共享
模块安装完成后,我们找到需要共享的目录,然后启动cmd后,输入:python -m pyftpdlib -p 21
之后浏览器登陆ftp://ip:port
,这样就开启了一个最简单的ftp共享服务。
首先我们使用浏览器登陆看下效果:
之后,我们在使用xftp工具登陆:
但此时,我们只是通过匿名用户anonymous,密码空的方式进行访问,只能使用ftp下载功能,而无法上传…
高级使用
简单的ftp搭建方式,肯定不满足我们的要求,那么我么就需要进行二次开发了!但也仅仅需要几行代码而已:
简单的ftp搭建方式,肯定不满足我们的要求,那么我么就需要进行二次开发了!但也仅仅需要几行代码而已:
# -*- coding: utf-8 -*-
# @Author : 王翔
# @JianShu : 清风Python
# @Date : 2019/8/30 1:26
# @Software : PyCharm
# @version :Python 3.7.3
# @File : PythonFtp.py
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
from pyftpdlib.authorizers import DummyAuthorizer
authorizer = DummyAuthorizer()
authorizer.add_user('python', '123456', 'F:\\Working~Study', perm='elradfmwM')
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(('0.0.0.0', 8888), handler)
server.serve_forever()
不管是windows还是linux服务器下,你还能想到比python搭建FTP服务器更简单的方式吗?哈哈…
作者:清风Python
相关推荐
通过哪吒动漫豆瓣影评,带你分析python爬虫与BeautifulSoup快速入门
相关文章
- 在pycharm中如何新建Python文件?_github下载的python源码项目怎么用
- python的进制转换器,Python进制转换[通俗易懂]
- unboundlocalerror python_Python问题:UnboundLocalError: local variable ‘xxx’ referenced before assignme
- python表情代码_Python实现表情包的代码实例[通俗易懂]
- 【说站】python文件导入相对路径
- python读取pkl_Python 读取文件
- Python保存json_python保存json文件
- python判断文件后缀_Python 判断文件后缀是否被篡改
- Python冒泡排序算法及其优化「建议收藏」
- python hexdump_笨办法学 Python · 续 练习 26:`hexdump`
- Python加载的文件哪里去了?(2)
- Python指定文件备份工具详解编程语言
- python检测端口是否开放详解编程语言
- python链接远程ftp服务器并列出目录下的文件详解编程语言
- python通过pysftp加密上传、下载ftp服务器文件详解编程语言
- Python开发系列课程(13) – 文件和异常详解编程语言
- Python驱动Oracle数据库(python操作oracle)
- 用python分割TXT文件成4K的TXT文件
- 用Python写的图片蜘蛛人代码
- 简单文件操作python修改文件指定行的方法
- python多线程threading.Lock锁用法实例
- Python实现把utf-8格式的文件转换成gbk格式的文件
- python调用MoxaPCOMMLite通过串口Ymodem协议实现发送文件