【问题标题】:Python syntax error with try & except [duplicate]python语法错误与try & except [重复]
【发布时间】:2018-06-18 16:45:28
【问题描述】:

我正在 Python 3 中测试 FTP 脚本以列出目录路径中的文件,但是当我尝试使用 try/except 处理程序时,我遇到了语法错误。

下面是脚本代码。请告知我缺少什么或做错了什么。

#!/usr/bin/python env
import ftplib
def FtpMirroList():
  ftp = ftplib.FTP("ftp.example.com")
  ftp.login("lodgy", "pass123")
  ftp.cwd("/my/research/folder")

  files = []
  try:
    files = ftp.nlst()
  except ftplib.error_perm, resp:
    if str(resp) == "550 No files found":
      printi("No files in this directory")
    else:
      raise
  for f in files:
    printi(f)

FtpMirroList()

它引发了以下错误:

  File "./ftplib-example-2.py", line 12
    except ftplib.error_perm, resp:
                            ^
SyntaxError: invalid syntax

【问题讨论】:

  • except ftplib.error_perm as resp:? (as 而不是,
  • @pycoder 你正确地抓住了它..thnx
  • Python3 更改了异常语法,但 Python3 语法可以在 Python2 中使用。正如 pycoder 所写,使用 as 代替逗号。如果您想处理多个异常,请使用except (exc1, exc2, exc3) as e:
  • @GáborFekete .. 当然我知道了,目前正在阅读 python 3 错误处理..thnx

标签: python python-3.x


【解决方案1】:

#!/usr/bin/python env 应该是#!/usr/bin/env python

except ftplib.error_perm, resp python3 不支持此合成器。将逗号替换为as

【讨论】:

  • 没错.thnx
  • @Karn 如果对您有帮助,请将答案标记为已接受,以便将问题标记为已解决。
猜你喜欢
  • 2017-11-30
  • 2018-03-13
  • 1970-01-01
  • 2020-06-08
  • 1970-01-01
  • 2019-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多