【发布时间】:2019-05-29 04:22:40
【问题描述】:
我正在尝试通过 FTP 同步两个文件夹,是的,我知道有更好或不同的方法,但现在我需要以这种方式实现它,我正在尝试来自 pyftpsync 的示例代码,因为很好,示例代码应该可以轻松工作对?我只是想在我创建的一些测试文件夹之间进行连接,一个是空的(本地),而远程有一个我想要获取的文本文件。它尝试连接,但大约 2 分钟后我收到此错误。
好吧,我的 FTP 确实在 python 之外工作。我可以通过 winSCP 连接就好了。
有些地方提到代理可能会导致这种情况,但似乎我目前不在代理背后,但也许我没有正确设置它并且它认为应该以某种方式存在代理?
无论如何,任何可能的故障排除想法都会有所帮助。谢谢
这是我的代码,只是在 pyftpsync 提示符下使用命令对我来说会产生相同的错误。所以可能是某些输入参数关闭导致所有这些。
import time
import os
import re
import shutil
import string
import sys
from ftpsync.targets import FsTarget
from ftpsync.ftp_target import FtpTarget
from ftpsync.synchronizers import DownloadSynchronizer
#synchronize a local folder with ftp
local = FsTarget( "C:\\testfolder\\" )
user = "login"
passwd = "password"
remote = FtpTarget("/my/folder/location/testfold/", "126.0.0.1",port=22, username=user,password=passwd,tls=False,timeout=None,extra_opts=None)
opts = {}
s=DownloadSynchronizer(local, remote, opts)
s.run()
这是我得到的输出,我已经编辑了文件夹名称和 IP 地址。
INFO:keyring.backend:Loading KWallet
INFO:keyring.backend:Loading SecretService
INFO:keyring.backend:Loading Windows
INFO:keyring.backend:Loading chainer
INFO:keyring.backend:Loading macOS
INFO:pyftpsync:Download to C:\testfolder
from ftp://126.0.0.1/.../testfold
INFO:pyftpsync:Encoding local: utf-8, remote: utf-8
Traceback (most recent call last):
File "c:\..\.py", line 30, in <module>
s.run()
File "C:\\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\ftpsync\synchronizers.py", line 1268, in run
res = super(DownloadSynchronizer, self).run()
File "C:\\AppData\Local\Programs\Python\Python37-
32\lib\site-packages\ftpsync\synchronizers.py", line 827, in run
res = super(BiDirSynchronizer, self).run()
File "C:\\AppData\Local\Programs\Python\Python37-
32\lib\site-packages\ftpsync\synchronizers.py", line 211, in run
self.remote.open()
File "C:\\AppData\Local\Programs\Python\Python37-
32\lib\site-packages\ftpsync\ftp_target.py", line 141, in open
self.ftp.connect(self.host, self.port)
File "C:\\AppData\Local\Programs\Python\Python37-
32\lib\ftplib.py", line 155, in connect
self.welcome = self.getresp()
File "C:\\Local\Programs\Python\Python37-
32\lib\ftplib.py", line 236, in getresp
resp = self.getmultiline()
File "C:\\AppData\Local\Programs\Python\Python37-
32\lib\ftplib.py", line 226, in getmultiline
nextline = self.getline()
File "C:\\AppData\Local\Programs\Python\Python37-
32\lib\ftplib.py", line 210, in getline
raise EOFError
EOFError
【问题讨论】: