【发布时间】:2014-07-09 04:08:12
【问题描述】:
我正在使用 python 进行文件传输。我一直在搜索,但仍然没有找到使用pyftpdlib 的工作 ftp 客户端-服务器的简单演示。我认为这个库非常有用,但我不知道如何开始使用它。
非常感谢您的帮助!
编辑: 好的,我按照教程进行操作。我的目标是首先能够在本地机器中发送/接收文件。
我运行 basic_ftpd.py 并得到这个:
[I 14-07-09 15:08:27] >>> starting FTP server on 127.0.0.1:2121, pid=7000 <<<
[I 14-07-09 15:08:27] poller: <class 'pyftpdlib.ioloop.Select'>
[I 14-07-09 15:08:27] masquerade (NAT) address: None
[I 14-07-09 15:08:27] passive ports: None
然后我运行 winnt_ftpd.py 并出现错误:
Traceback (most recent call last):
File "***\lib\winnt_ftpd.py", line 41, in <module>
from pyftpdlib.authorizers import WindowsAuthorizer
ImportError: cannot import name WindowsAuthorizer
假设我想在 C:/share 和本地地址中发送一些文件,我认为它应该是 127.0.0.1:2121 或 localhost:2121。然后从客户端我想获取目录列表:
import ftplib
ftp = ftplib.FTP("127.0.0.1:2121")
ftp.login("user", "12345")
data = []
ftp.dir(data.append)
ftp.quit()
for line in data:
print "-", line
但这不起作用,我收到以下错误:
Traceback (most recent call last):
File "C:\Users\***\src\client1.py", line 8, in <module>
ftp = ftplib.FTP("127.0.0.1:2121")
File "C:\Python27\lib\ftplib.py", line 117, in __init__
self.connect(host)
File "C:\Python27\lib\ftplib.py", line 132, in connect
self.sock = socket.create_connection((self.host, self.port), self.timeout)
File "C:\Python27\lib\socket.py", line 551, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno 11004] getaddrinfo failed
编辑: 我变了
ftp = ftplib.FTP("127.0.0.1:2121")
到
ftp = ftplib.FTP("127.0.0.1")
然后我得到这个错误:
socket.error: [Errno 10061] No connection could be made because the target machine actively refused it
有什么建议吗?
【问题讨论】:
-
你链接的教程有什么问题?
-
还有标准的
ftplib模块;教程effbot.org/librarybook/ftplib.htm -
感谢您的回复,我是这方面的新手,我不知道如何使用这个库。对不起,如果我的愚蠢问题打扰了你。
标签: python python-2.7 ftp