我的程序中的Python ftplib异常?

2024-10-01 11:39:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我写这个程序是为了从一个网站的目录中的文本文件中提取数据(这个目录是由用户在网站上编辑的),但它似乎崩溃了。很多。在

from sys import argv
import ftplib
import serial
from time import sleep

one = "0"
repeat = True

ser = serial.Serial("COM3", 9600)

while repeat == True:
     path = 'public_html/'
     filename = 'fileone.txt'
     ftp = ftplib.FTP("*omitted*")
     ftp.login("*omitted*", "*omitted*")
     ftp.cwd(path)
     ftp.retrbinary("RETR " + filename ,open(filename, 'wb').write)
     ftp.quit()

     txt = open(filename)

     openup = txt.read()

     ser.write(openup)
     print(openup)

有人知道有什么方法可以阻止它崩溃吗?我在考虑使用一个异常,但我不是Python专家。顺便说一句,这个程序做了它应该做的事情,地址和登录名由于明显的原因被省略了。另外,如果可能的话,我请求一个异常,以防止程序从串行端口断开时崩溃。在

提前谢谢!在


Tags: fromimport程序目录txttrue网站serial
1条回答
网友
1楼 · 发布于 2024-10-01 11:39:27

两件事:

  1. 您可能希望将所有与ftplib相关的代码放入try except块中,如下所示:

try:
    #code related to ftplib
except Exception, e:  #you can fill this in after you encounter the exception once
    print str(e)
  1. 你似乎在打开文件,但完成后没有关闭它。这也可能会在以后导致错误。最好的方法是:

^{pr2}$ 这样,一旦您在'with'块之外,文件将自动关闭。

相关问题 更多 >