Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将函数的docstring传递给另一个文件python3_Python_Python 3.x_Openapi_Flask Apispec - Fatal编程技术网

将函数的docstring传递给另一个文件python3

将函数的docstring传递给另一个文件python3,python,python-3.x,openapi,flask-apispec,Python,Python 3.x,Openapi,Flask Apispec,我使用apispec是为了生成openapi规范(swagger),以便在AWS中进一步使用 我试图通过创建另一个包含与实现的路由相关的docstring函数的文件来优化当前文件。 我仍然不确定这是否可能,但我确定的是,这对我来说不起作用。 以下是我到目前为止实施的内容: 文件login_file.py中login_doc()下面的函数包含与登录路由相关的docstring 在文件generate_openapi.py中,我这样做了: import login_file @app.route(

我使用apispec是为了生成openapi规范(swagger),以便在AWS中进一步使用

我试图通过创建另一个包含与实现的路由相关的docstring函数的文件来优化当前文件。 我仍然不确定这是否可能,但我确定的是,这对我来说不起作用。 以下是我到目前为止实施的内容:

文件login_file.py中login_doc()下面的函数包含与登录路由相关的docstring

在文件generate_openapi.py中,我这样做了:

import login_file

@app.route('/login', methods=['POST'])
def login():
  login_file.login_doc.__doc__
PS:其余的导入都很好,只是在发布这个问题时删除了它们


不幸的是,这对我不起作用。正如我之前所说的,我正在尽量减少generate_openapi.py的代码行,以便它更可读和更易于理解。提前感谢大家抽出时间。

虽然我怀疑它是否有助于可读性,但如果您在函数外部定义docstring,则可以在定义函数后设置docstring,如下所示:

导入登录\u文件
@app.route('/login',methods=['POST'])
def login():
...
login.\uuuuu doc\uuuuuu=登录\u文件。登录\u doc.\uuuuuu doc__

或者,定义一个decorator来更改函数的docstring。

谢谢@larsl的回复,实际上这可以解决问题!
import login_file

@app.route('/login', methods=['POST'])
def login():
  login_file.login_doc.__doc__