Python 3异常,未打印新行



我真的不知道该怎么说,但当我在python 3.2中引发异常时,'\n'没有被解析。。。

这里有一个例子:

class ParserError(Exception):
    def __init__(self, message):
            super().__init__(self, message)
try:
    raise ParserError("This should havena line break")
except ParserError as err:
    print(err)

它是这样工作的:

$ ./test.py
(ParserError(...), 'This should havena line break')

如何确保将新行打印为新行?

class ParserError(Exception):
    pass

print(err.args[1])

Ahh,错误消息在2.6中被弃用-因此不再存在,因此…

print(err.args[1])

这里发生的情况是,作为将整个Exception对象传递给print()的一部分,正在打印消息字符串的repr,因此换行符被转换回n。如果您单独print实际字符串,则实际换行符将打印出来。

相关内容

  • 没有找到相关文章

最新更新