首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在我的程序中Python ftplib异常?

在我的程序中Python ftplib异常?
EN

Stack Overflow用户
提问于 2016-04-15 01:25:36
回答 1查看 255关注 0票数 1

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

代码语言:javascript
复制
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专家。顺便说一句,程序做了它想做的事情,由于显而易见的原因,地址和登录信息被省略了。另外,如果可能的话,我会请求一个异常来阻止程序在与串行端口断开连接时崩溃。

提前感谢!

EN

Stack Overflow用户

发布于 2016-04-15 01:46:39

两件事:

  1. 你可能想把所有与ftplib相关的代码放在一个试用块中,就像这样:

代码语言:javascript
复制
try:
    #code related to ftplib
except Exception, e:  #you can fill this in after you encounter the exception once
    print str(e)

  1. 您似乎正在打开该文件,但完成后并未将其关闭。这也可能在以后导致错误。最好的方法是:

代码语言:javascript
复制
with open(filename, 'r') as txt:
    openup = txt.read()

这样,一旦你在“with”块之外,文件就会自动关闭。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36629964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档