有没有可能用python中的一行命令来做一个简单的ftp服务器?我希望能够做到这一点,作为快速和临时的方式传输文件到linux机器,而不必安装ftp服务器。最好是使用内置的python库,这样就不需要额外安装了。
发布于 2011-02-15 00:57:15
必备Twisted示例:
twistd -n ftp
而且可能很有用:
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.
发布于 2011-09-05 11:46:22
看看来自Giampaolo Rodola的pyftpdlib。它是python最好的ftp服务器之一。它用于google的chromium (他们的浏览器)和bazaar (一个版本控制系统)。它是Python (又称:RFC-959服务器实现规范)上最完整的实现。
要安装:
pip3 install pyftpdlib
在命令行中:
python3 -m pyftpdlib
或者'my_server.py':
#!/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()
如果你想要更复杂的东西,网站上有更多的例子。
要获取命令行选项列表,请执行以下操作:
python3 -m pyftpdlib --help
请注意,如果您想覆盖或使用标准ftp端口,则需要管理员权限(例如sudo)。
发布于 2018-05-13 14:45:58
更简单的解决方案是使用pyftpd库。这个库允许您在一行中旋转Python FTP服务器。虽然它不是默认安装的,但是我们可以使用简单的apt命令来安装它
apt-get install python-pyftpdlib
现在,从您想要服务的目录中,只需运行pythod模块
python -m pyftpdlib -p 21
https://stackoverflow.com/questions/4994638
复制相似问题