有人知道为什么python没有下载下面列表中的所有文件吗?第一个文件下载,然后我得到一个' error2'对于第二个文件。
fdnload1 = ['AAA092214.TXT', '092214 REPORT TOTALS.TXT']
try:
# DOWNLOAD FILES
for fdn in fdnload1:
ftrans1 = open(fdn,'wb')
ftp.retrbinary('RETR ' + fdn, ftrans1.write)
print 'Downloading...' + fdn
except:
print 'error2'
结果:
Downloading...AAA092214.TXT
error2
当我在没有实际下载文件的情况下运行程序时,它会遍历所有文件:
try:
# DOWNLOAD FILES
for fdn in fdnload1:
print 'Downloading...' + fdn
except:
print 'error2'
结果:
Downloading...AAA092214.TXT
Downloading...092214 REPORT TOTALS.TXT
[Finished in 0.3s]
E D I T#1:
我能够通过创建一个单独的函数来下载文件来获取fdnload1
中的所有文件,但我仍然会收到错误,并且它们来自实际的下载过程(请参阅我的结果是打印' download1()函数中的错误'。有谁知道为什么?
另外,我刚检查了下载的文件并且它们是空的,所以它们实际上没有正确下载...
def download1(fdn):
os.chdir('C:/directory10')
try:
ftrans1 = open(fdn,'wb')
ftp.retrbinary('RETR ' + fdn, ftrans1.write)
print 'file: ' + fdn + 'download complete...'
except:
print 'error in download1() function'
修改原始代码以运行download()
函数:
try:
# DOWNLOAD FILES
for fdn in fdnload1:
print 'Downloading... ' + fdn
download1(fdn)
except:
print 'error2'
结果:
Downloading... AAA092214.TXT
error in download1() function
Downloading... 092214 REPORT TOTALS.TXT
error in download1() function
答案 0 :(得分:0)
这是ftp端的用户权限错误。
ftplib.error_perm:550 AASN092214.PCI:权限被拒绝。
在超级用户下登录,我可以下载所有带有和不带download1()函数的文件......
感谢