我相信这已经解决了,但我似乎无法找到类似的问答(新手)使用Windows XP和Python 2.5,我试图使用脚本连接到FTP服务器并下载文件.它应该很简单,但按照类似脚本的说明我得到错误:
ftp.login('USERNAME')
File "C:\Python25\lib\ftplib.py", line 373, in login
if resp[0] == '3': resp = self.sendcmd('PASS ' + passwd)
File "C:\Python25\lib\ftplib.py", line 241, in sendcmd
return self.getresp()
File "C:\Python25\lib\ftplib.py", line 216, in getresp
raise error_perm, resp
error_perm: 530 User USERNAME cannot log in.
Run Code Online (Sandbox Code Playgroud)
我使用的脚本是:
def handleDownload(block):
file.write(block)
print ".",
# Create an instance of the FTP object
# FTP('hostname', 'username', 'password')
ftp = FTP('servername')
print 'ftplib example'
# Log in to the server
print 'Logging in.'
# You can specify username and password here if you like:
ftp.login('USERNAME', 'password')
#print ftp.login()
# This is the directory
directory = '/GIS/test/data'
# Change to that directory.
print 'Changing to ' + directory
ftp.cwd(directory)
# Print the contents of the directory
ftp.retrlines('LIST')
Run Code Online (Sandbox Code Playgroud)
我很欣赏这可能是一个微不足道的问题,但如果有人能提供一些见解,那将是非常有帮助的!
谢谢,S
我无法理解您使用的是哪个库.Python标准urllib2就足够了:
import urllib2, shutil
ftpfile = urllib2.urlopen("ftp://host.example.com/path/to/file")
localfile = open("/tmp/downloaded", "wb")
shutil.copyfileobj(ftpfile, localfile)
Run Code Online (Sandbox Code Playgroud)
如果您需要登录(匿名登录不够),请在URL中指定凭据:
urllib2.urlopen("ftp://user:password@host.example.com/rest/of/the/url")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13496 次 |
| 最近记录: |