我正在尝试从 ftp 服务器下载文件,但遇到错误权限被拒绝错误。
Traceback (most recent call last):
File "/Users/x34/Documents/Python/ftp_download.py", line 27, in <module>
download()
File "/Users/x34/Documents/Python/ftp_download.py", line 21, in download
with open(filename,'wb') as f:
IOError: [Errno 13] Permission denied: '/p012r018_5dt19900722_z20_30.tif.gz'
手动或使用 filezilla 下载工作正常,但我下面的脚本没有
from ftplib import ftp
ftp = FTP(r'ftp.glcf.umd.edu')
ftp.login()
directory = 'glcf/Landsat/WRS2/p012/r018/p012r018_5dx19900722.TM-GLS1990'
filename = '/p012r018_5dt19900722_z20_30.tif.gz'
ftp.cwd(directory)
with open(filename,'wb') as f:
ftp.retrbinary('RETR' + filename,f.write)
ftp.close()
另请注意......也许我误读了文档 - http://docs.python.org/library/ftplib.html但我不完全理解 ftplib 决定下载文件的位置(默认下载目录?)。是否有其他模块更适合此应用程序?
更新
我应该澄清一下,服务器上的文件名前面不包含“/”。我只是补充说,因为它似乎有助于找到正确的文件位置和名称,因为之前的尝试以以下错误 ftplib.error_perm: 500 Unknown command 结束。
文件的完整路径是
ftp.glcf.umd.edu/glcf/Landsat/WRS2/p012/r018/p012r018_5dx19900722.TM-GLS1990/p012r018_5dt19900722_z20_30.tif.gz'