如何在狮身人面像中使用__doc__中的换行符

时间:2019-01-04 14:04:48

标签: python sqlalchemy python-sphinx

为了使我的编码技能专业化,我想使用狮身人面像作为我开始的一个小型宠物项目来创建文档。 在这个项目中,我使用sqlalchemy与使用MySQL工作台设置的MySQL数据库进行通信。 在设置过程中,我还在每个表上定义了注释。

我想做的是在文档中包括表注释,以阐明每个表应该做什么。 我正在使用SQLalchemy的自动映射器功能。

from sqlalchemy import Table, create_engine
from sqlalchemy.engine import reflection
from sqlalchemy.orm import create_session
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.engine.url import URL
from os import  path

# DBCONF is a loaded dict. Ommitted for clarity.
DBURL = URL(**DBCONF)

#Creat DB engine 
engine = create_engine(DBURL)
insp = reflection.Inspector.from_engine(engine)
Base = declarative_base(bind = engine)

#Example Table from the database.
class Temperature(Base):
    tablename = 'temperature'
    __table__ = Table(tablename, Base.metadata, autoload=True)
    __doc__ = insp.get_table_comment(tablename)['text']
    print(__doc__)

class Foo(object):
    """
    Foo 1

    Foo 2
    """
    print(__doc__)

class Bar(object):
    __doc__ = "Bar1 \n \nBar2"
    print(__doc__)

的输出
print(__doc__)

是:

DBLine1 \n \n DBLine2

    Foo 1

    Foo 2

Bar1

Bar2

在Foo和Bar的文档中,一切都很好,但是对于Temperature对象,我得到了“ DBLine1 n n DBLine2”。没有换行符,没有\ n。

有人知道这可能来自哪里吗?也许是数据库的特征集?

按照我的意愿去做实际上是一个好主意吗?我开始对此表示怀疑。

0 个答案:

没有答案