首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >python中的单行ftp服务器

python中的单行ftp服务器
EN

Stack Overflow用户
提问于 2011-02-15 00:34:27
回答 6查看 161.4K关注 0票数 119

有没有可能用python中的一行命令来做一个简单的ftp服务器?我希望能够做到这一点,作为快速和临时的方式传输文件到linux机器,而不必安装ftp服务器。最好是使用内置的python库,这样就不需要额外安装了。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-02-15 00:57:15

必备Twisted示例:

代码语言:javascript
复制
twistd -n ftp

而且可能很有用:

代码语言:javascript
复制
twistd ftp --help

Usage: twistd [options] ftp [options].
WARNING: This FTP server is probably INSECURE do not use it.
Options:
  -p, --port=           set the port number [default: 2121]
  -r, --root=           define the root of the ftp-site. [default:
                    /usr/local/ftp]
  --userAnonymous=  Name of the anonymous user. [default: anonymous]
  --password-file=  username:password-style credentials database
  --version         
  --help            Display this help and exit.
票数 149
EN

Stack Overflow用户

发布于 2011-09-05 11:46:22

看看来自Giampaolo Rodola的pyftpdlib。它是python最好的ftp服务器之一。它用于google的chromium (他们的浏览器)和bazaar (一个版本控制系统)。它是Python (又称:RFC-959服务器实现规范)上最完整的实现。

要安装:

代码语言:javascript
复制
pip3 install pyftpdlib

在命令行中:

代码语言:javascript
复制
python3 -m pyftpdlib

或者'my_server.py':

代码语言:javascript
复制
#!/usr/bin/env python3

from pyftpdlib import servers
from pyftpdlib.handlers import FTPHandler
address = ("0.0.0.0", 21)  # listen on every IP on my machine on port 21
server = servers.FTPServer(address, FTPHandler)
server.serve_forever()

如果你想要更复杂的东西,网站上有更多的例子。

要获取命令行选项列表,请执行以下操作:

代码语言:javascript
复制
python3 -m pyftpdlib --help

请注意,如果您想覆盖或使用标准ftp端口,则需要管理员权限(例如sudo)。

票数 107
EN

Stack Overflow用户

发布于 2018-05-13 14:45:58

更简单的解决方案是使用pyftpd库。这个库允许您在一行中旋转Python FTP服务器。虽然它不是默认安装的,但是我们可以使用简单的apt命令来安装它

代码语言:javascript
复制
apt-get install python-pyftpdlib

现在,从您想要服务的目录中,只需运行pythod模块

代码语言:javascript
复制
python -m pyftpdlib -p 21 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4994638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档