【问题标题】:IndentationError: unexpected indent after comment [duplicate]IndentationError:评论后意外缩进[重复]
【发布时间】:2018-11-16 06:04:46
【问题描述】:

我正在尝试编写一些 Python 示例代码,其中一行注释掉:

user_by_email = session.query(User)\
    .filter(Address.email=='one')\
    #.options(joinedload(User.addresses))\
    .first()

我也试过了:

user_by_email = session.query(User)\
    .filter(Address.email=='one')\
#    .options(joinedload(User.addresses))\
    .first()

但我得到 IndentationError: unexpected indent。 如果我删除注释掉的行,代码就可以工作。 我很确定我只使用了空格(Notepad++ 截图):

【问题讨论】:

    标签: python python-2.7 indentation


    【解决方案1】:

    将语句括在括号中

    user_by_email = (session.query(User)
         .filter(Address.email=='one')
         #.options(joinedload(User.addresses))
         .first())
    

    【讨论】:

      【解决方案2】:

      本质上是同一行,这就是 Python 解释器读取它的方式。

      就像你不能只评论一行代码中的一个词。 (下)

      不允许

      user_by_email = session.query(User).filter(Address.email=='one')#comment#.first()
      

      您需要将注释移到行尾。

      user_by_email = session.query(User)\
          .filter(Address.email=='one')\
          .first()
      #.options(joinedload(User.addresses))\
      

      【讨论】:

      • 删除斜线不起作用,但添加大括号可以。
      • @Prateek 我删除了我的评论,因为我无法编辑它以纠正在这种情况下简单删除反斜杠不起作用。
      • 对不起,我认为这行得通。更新答案。
      【解决方案3】:

      你试过了吗?

      user_by_email = session.query(User).\
      filter(Address.email=='one').\
      #options(joinedload(User.addresses)).\
      first()
      

      【讨论】:

      • 然后我得到: SyntaxError: 行继续符后的意外字符
      猜你喜欢
      • 1970-01-01
      • 2020-12-17
      • 1970-01-01
      • 1970-01-01
      • 2018-02-04
      • 2022-08-20
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多