Python黑科技:6行代码轻松搭建FTP服务器
Python 黑科技
六行代码轻松搭建个人FTP服务器
什么是FTP服务器?
FTP (File Transfer Protocol) 是一个用于客户端与服务器之间文件的协议。利用FTP我们就能做到在网络上共享文件:只要登陆到FTP服务器,客户端就可以在这个服务器中下载与上传文件。
例如,在寝室的局域网中,如果有一台电脑开启了FTP服务器,其他电脑(在有权限的情况下)就可以access这个服务器中共享的文件。
如何用Python搭建FTP服务器?
要实现这个功能,我们可以使用一个非常方便的库: pyftpdlib.
pip install pyftpdlib
然后就是实现功能的代码了。pyftpdlib的官方文档中给出了一个基础的应用案例,这里将把代码最简化。
from pyftpdlib.authorizers import
DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
#实例化一个虚拟authorizer
authorizer = DummyAuthorizer()
#添加一个匿名用户,并给予其访问某共享#文件夹的权限(以D://folder为例)
authorizer.add_anonymous('D://folder')
#创建handler. 实例化一个FTPServer必须
#给定一个handler,这里按照文档的例子
#来就行。
handler = FTPHandler
handler.authorizer = authorizer
#开启服务器。
#YOUR_IP_ADDRESS是你本机的内网#IP,可以用命令行命令 ipconfig 查到。
#21是FTP协议的默认端口,一般不用修改。
server = FTPServer((YOUR_IP_ADDRESS, 21), handler)
server.serve_forever()
如何访问已被共享的文件夹?
打开任意浏览器,在地址栏输入
ftp://服务器的IP地址
以我的服务器为例。我用来搭建服务器电脑的内网IP是192.168.1.12,共享了ICS 32的project文件夹。可以看到在浏览器中文件被清楚地列了出来。
结尾
若想访问pyftpdlib的官方文档,请戳
https://pyftpdlib.readthedocs.io/en/latest/tutorial.html
想获取更多资讯,请关注CUCS官方微信公众号。
Python黑科技:6行代码轻松搭建FTP服务器的更多相关文章
- 仅需几行代码 轻松实现ETH代币空投
仅需几行代码 轻松实现ETH代币空投 批量发送以太坊,部署下面的合约,然后往下面的合约打币,就可以分发 ragma solidity ^0.4.21; contract batchTransfer { ...
- Python一秒搭建ftp服务器,帮助你在局域网共享文件【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- Python一秒搭建ftp服务器,帮助你在局域网共享文件
"老板 来碗面" "要啥面?" "内牛满面.." 最近项目上的事情弄得人心累,本来是帮着兄弟项目写套入口代码,搞着搞着就被拉着入坑了.搞开发 ...
- 【转】Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍
Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍 FTP 是File Transfer Protocol(文件传输协议)的英文简称,它基于传输层协议TCP建立,用于Interne ...
- pyftpdlib 搭建FTP服务器
学会socket之后,就可以使用应用层的协议了,比如FTP,HTTP等,不过一般这些应用层都会有现成的模块,学不学socket都无所谓,这是python的方便之处.这里搭建FTP服务器使用的就是pyf ...
- CenOS搭建FTP服务器
CenOS搭建FTP服务器 -------------------------------------------------------------------------准备工作--------- ...
- CentOS 6.5下快速搭建ftp服务器[转]
CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vs ...
- CentOS 6.5下快速搭建ftp服务器
来源:Linux社区 作者:Linux CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了v ...
- 在Ubuntu Server 14.04中搭建FTP服务器(VMWare)
自己搭建ftp服务器,方便主机与虚拟机中的Ubuntu传输文件. 选用的ftp软件为vsftpd. 1.命令行: sudo apt-get install vsftpd 2.安装完配置: vsftpd ...
随机推荐
- poj3252(数位dp)(模板)
题目链接:https://vjudge.net/problem/POJ-3252 题意:求[l,r]之间的Round Number数,RN数即化为二进制后0的个数不少于1的个数的数. 思路:之前用组合 ...
- spring boot-1.简单介绍及环境搭建
1.简介 spring boot 是在spring 基础上进行了全面整合的架构,个人认为优点在于以下几点: 1.简化配置,甚至零配置即可开发出一个web应用.spring boot 默认配置了大量的s ...
- locust 的几种写法及部分内容说明
第一种 ********************************** from locust import HttpLocust, TaskSet, task import json ...
- git diff 命令用法
理解git diff的前提,首先要理解git中工作区,暂存区,本地版本库的概念,如果头脑中有这些概念,接着往下读. git diff test.c 用来查看工作区和暂存区中test.c文件的区别. g ...
- Kibana多用户创建及角色权限控制
1 介绍 ELK日志管理属于基础设施平台,接入多个应用系统是正常现象,如果接入多个系统的索引文件没有进行权限划分,那么很大程度会出现索引文件误处理现象,为了避免这种情况发生,多用户及权限设置必不可少. ...
- httpClient4.5.2工具类总结
使用背景: 因项目使用非结构化存储,http相关jar包统一升级到httpClient4.5.2,查阅相关文档总结如下,以咨分享,望不吝指教. 依赖jar包 httpclient-4.5.2.jar. ...
- c#委托(Delegates)--基本概念及使用
在我这菜鸟理解上,委托就是可以用方法名调用另一方法的便捷方法,可以简化switch等语句的重复.最近做项目的时候恰好需要用到委托,便来复习及学习委托的使用.嗯...本人以前并没有用过,只是稍微知道而已 ...
- js 向数组对象中添加属性和属性值
let resultList = [{"name":"a1"},{"name":"b1"}] resultList.fo ...
- svn 介绍及linux下常用操作命令
1.概念 truck(主干|主线|主分支):是用来做主方向开发的,新功能的开发应放在主线中,当模块开发完成后,需要修改,就用branch. branch(分支):分支开发和主线开发是可以同时进行的,也 ...
- string::front
char& front(); const char& front() const;功能:返回string对象的首个字符,可以改变它的值 #include <string># ...