【问题标题】:ftplib prints call stack when connection fails连接失败时 ftplib 打印调用堆栈
【发布时间】:2022-01-01 23:14:09
【问题描述】:

我在 python 中使用ftplib 连接到 FTP 服务器。问题是,无论何时连接失败,ftplib 都会打印回溯,即使我正在使用异常处理来打印我选择的消息以防连接失败。

from ftplib import FTP
ftp_cui = FTP(ip, username, password, timeout=5.0)

try:
    ftp_cui.connect(port=21)

except ftplib.all_errors as e:
    print("error")

如何抑制ftplib 的这种行为?

【问题讨论】:

    标签: python traceback ftplib


    【解决方案1】:

    我将初始化的行也移到了 try 块中,然后它只显示您想要的消息“错误”:

    from ftplib import FTP, all_errors
    
    try:
        ftp_cui = FTP(ip, username, password, timeout=5.0)
        ftp_cui.connect(port=21)
    
    except all_errors as e:
        print("error")
    

    【讨论】:

      【解决方案2】:

      你可以试试:

      from ftplib import FTP
      
      try:
          ftp_cui = FTP(ip, username, password, timeout=5.0)
          ftp_cui.connect(port=21)
      except:
          print('error')
      

      【讨论】:

      • 请注意,这会捕获所有异常,而不仅仅是 ftplib.all_errors 中的异常
      猜你喜欢
      • 2010-11-28
      • 2010-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-11
      • 2015-08-25
      相关资源
      最近更新 更多