【发布时间】:2015-10-02 18:52:01
【问题描述】:
我正在尝试使用 python 的 ftplib 下载文件,但我遇到了问题。当我在计算机上运行脚本时出现错误:
Traceback (most recent call last):
File "ftp_get.py", line 20, in <module>
ftps.retrbinary('RETR '+ filename, file.write)
File "C:\Python27\lib\ftplib.py", line 710, in retrbinary
conn.unwrap()
File "C:\Python27\lib\ssl.py", line 771, in unwrap
s = self._sslobj.shutdown()
socket.error: [Errno 0] Error
但是当我在服务器上运行它时,它可以完美运行。今天早上早些时候它也在我的电脑上工作,但现在我得到了错误。 Python代码如下:
from ftplib import FTP_TLS
import os
import glob
user = "something"
passwd = "some_password"
ftps = FTP_TLS('domain')
ftps.login(user, passwd)
ftps.prot_p()
filenames = ftps.nlst()
for filename in filenames:
local_filename = os.path.join('C:\\test2\\', filename)
file = open(local_filename, 'wb')
ftps.retrbinary('RETR '+ filename, file.write)
print "Downloading - " + filename
#ftps.delete (filename)
#print "Deleting - " + filename
file.close()
ftps.quit()
为什么它可以在某些计算机上运行,而在其他计算机上不行?
【问题讨论】:
-
你应该检查是否有其他程序使用相同的端口
-
如何检查端口 21 上是否有运行或正在使用的任何端口?
-
你正常使用的操作系统 21 我认为不应该使用
-
我的 ftp 服务器由 Yahoo 托管。我正在尝试从 Windows 7 计算机和 Windows 2012 R2 服务器运行我的 python 脚本。
-
我今天早上能够运行脚本,但目前我得到了错误。