将函数的文档字符串传递给另一个文件 python3
Passing docstring of a function to another file python3
我正在使用 apispec 来生成 openapi 规范 (swagger),以便在 AWS 中进一步使用。
我试图通过创建另一个文件来优化我当前的文件,该文件包含带有与实现的路由相关的文档字符串的函数。
我仍然不确定这是否可能,但我可以确定的是它对我没有用。
以下是我目前实施的内容:
login_doc()下面的函数login_file.py包含与登录路由.
def login_doc():
"""
post:
responses:
"200":
description: "200 response"
content:
application/json:
schema:
$ref: "#/components/schemas/Empty"
"""
pass
在文件 generate_openapi.py 中我这样做了:
import login_file
@app.route('/login', methods=['POST'])
def login():
login_file.login_doc.__doc__
PS:其余导入工作正常,只是在发布此问题时将其删除。
不幸的是,这对我不起作用。正如我之前所说,我正在尝试将 generate_openapi.py 的代码行减到最少,以便它更易于阅读和理解。预先感谢大家的宝贵时间。
虽然我怀疑它是否有助于提高可读性,但如果您在函数外部定义文档字符串,则可以在定义函数后设置文档字符串,如下所示:
import login_file
@app.route('/login', methods=['POST'])
def login():
...
login.__doc__ = login_file.login_doc.__doc__
或者,定义一个装饰器来更改函数的文档字符串。
我正在使用 apispec 来生成 openapi 规范 (swagger),以便在 AWS 中进一步使用。
我试图通过创建另一个文件来优化我当前的文件,该文件包含带有与实现的路由相关的文档字符串的函数。 我仍然不确定这是否可能,但我可以确定的是它对我没有用。 以下是我目前实施的内容:
login_doc()下面的函数login_file.py包含与登录路由.
def login_doc():
"""
post:
responses:
"200":
description: "200 response"
content:
application/json:
schema:
$ref: "#/components/schemas/Empty"
"""
pass
在文件 generate_openapi.py 中我这样做了:
import login_file
@app.route('/login', methods=['POST'])
def login():
login_file.login_doc.__doc__
PS:其余导入工作正常,只是在发布此问题时将其删除。
不幸的是,这对我不起作用。正如我之前所说,我正在尝试将 generate_openapi.py 的代码行减到最少,以便它更易于阅读和理解。预先感谢大家的宝贵时间。
虽然我怀疑它是否有助于提高可读性,但如果您在函数外部定义文档字符串,则可以在定义函数后设置文档字符串,如下所示:
import login_file
@app.route('/login', methods=['POST'])
def login():
...
login.__doc__ = login_file.login_doc.__doc__
或者,定义一个装饰器来更改函数的文档字符串。