[Tutor] FTP Errors
John Weller
john at johnweller.co.uk
Wed Jul 1 13:52:35 EDT 2020
I have a program that runs (should run) 24/7 in a loop. In the loop the program captures some data which it stores in a string. The string is appended to a list and the earliest string popped to keep it at 10 lines. The list is then uploaded to a web server using FTP. It then goes to sleep for 5 minutes before repeating.
I had some problems with the program crashing when the internet dropped for a short time so put a try, except section in to trap the errors which appeared to work however I am now getting the program crashing again when it tries to upload instead of the except catching the problem. It will work perfectly uploading every 5 minutes for hours on end then will crash.
The upload function is below:
def upload(file1, file2):
try:
ftp = FTP(data.ftp_host) # connect to host, default port
ftp.login(user=data.ftp_user, passwd=data.ftp_passwd)
except ftplib.all_errors as err:
#Log the error
logging.error(err)
else:
ftp.cwd(data.ftp_dir)
ftp.storlines("STOR " + file1, open(file1, 'rb'))
ftp.storlines("STOR " + file2, open(file2, 'rb'))
ftp.quit() <ftp://ftp.quit()>
The error messages are below:
Traceback (most recent call last):
File "garage_11.py", line 245, in upload
ftp.login(user=data.ftp_user, passwd=data.ftp_passwd)
File "/usr/lib/python3.7/ftplib.py", line 420, in login
resp = self.sendcmd('PASS ' + passwd)
File "/usr/lib/python3.7/ftplib.py", line 273, in sendcmd
return self.getresp()
File "/usr/lib/python3.7/ftplib.py", line 246, in getresp
raise error_perm(resp)
ftplib.error_perm: 530 Login incorrect.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "garage_11.py", line 450, in <module>
loop(data, values_list)
File "garage_11.py", line 372, in loop
upload('garage.html', data.filename)
File "garage_11.py", line 246, in upload
except ftplib.all_errors as err:
NameError: name 'ftplib' is not defined
It looks as though the problem lies in the exception handling and I would be grateful for any pointers 😊
TIA
John
John Weller
01380 723235
07976 393631
More information about the Tutor
mailing list