python模块中奇怪的char

xyl*_*n97 1 python

在Python 2.7.4的包中,当你去的时候Lib -> email -> errors.py,模块中有一些有趣的东西.


# Copyright (C) 2001-2006 Python Software Foundation
# Author: Barry Warsaw
# Contact: email-sig@python.org

"""email package exception classes."""



class MessageError(Exception):
    """Base class for errors in the email package."""


class MessageParseError(MessageError):
    """Base class for message parsing errors."""


class HeaderParseError(MessageParseError):
    """Error while parsing headers."""


class BoundaryError(MessageParseError):
    """Couldn't find terminating boundary."""


class MultipartConversionError(MessageError, TypeError):
    """Conversion to a multipart is prohibited."""


class CharsetError(MessageError):
    """An illegal charset was given."""



# These are parsing defects which the parser was able to work around.
class MessageDefect:
    """Base class for a message defect."""

    def __init__(self, line=None):
        self.line = line

class NoBoundaryInMultipartDefect(MessageDefect):
    """A message claimed to be a multipart but had no boundary parameter."""

class StartBoundaryNotFoundDefect(MessageDefect):
    """The claimed start boundary was never found."""

class FirstHeaderLineIsContinuationDefect(MessageDefect):
    """A message had a continuation line as its first header line."""

class MisplacedEnvelopeHeaderDefect(MessageDefect):
    """A 'Unix-from' header was found in the middle of a header block."""

class MalformedHeaderDefect(MessageDefect):
    """Found a header that was missing a colon, or was otherwise malformed."""

class MultipartInvariantViolationDefect(MessageDefect):
    """A message claimed to be a multipart but no subparts were found."""
Run Code Online (Sandbox Code Playgroud)

这是模块的全部内容.除此之外,还有2个非常奇怪的字符在预览中没有显示,并且无法复制粘贴.它们看起来像是人类的棍子(在记事本中),我发现它非常有趣.

其中一个就在之前

class MessageError(Exception):
    """Base class for errors in the email package."""
Run Code Online (Sandbox Code Playgroud)

另一个是之后

class CharsetError(MessageError):
    """An illegal charset was given."""
Run Code Online (Sandbox Code Playgroud)

有没有人知道这些角色在那里做什么?或者只是我的包裹?

ice*_*ime 5

在Vim中打开此文件会显示一个^L字符,即表单Feed.

如果您参考PEP8样式指南,您会发现:

Python接受control-L(ie ^L)换页符作为空格; 许多工具将这些字符视为页面分隔符,因此您可以使用它们来分隔文件相关部分的页面.请注意,某些编辑器和基于Web的代码查看器可能无法将control-L识别为换页符,并且会在其位置显示另一个字形.

在您的情况下,这些^L只是在逻辑上将MessageError派生类与MessageDefect派生类分开.