簡體   English   中英

將 function 的文檔字符串傳遞給另一個文件 python3

[英]Passing docstring of a function to another file python3

我正在使用 apispec 來生成 openapi 規范(swagger),以便在 AWS 中進一步使用。

我試圖通過創建另一個包含與實現的路由相關的文檔字符串的函數的文件來優化我當前的文件。 我仍然不確定這是否可能,但我確定它對我不起作用。 到目前為止,這是我已經實現的:

文件login_file.pylogin_doc()下面的 function 包含與登錄路由相關的文檔字符串。

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:進口的 rest 工作得很好,只是在發布這個問題時刪除了它們。

不幸的是,這對我不起作用。 正如我之前所說,我試圖盡量減少generate_openapi.py的代碼行數,使其更具可讀性和可理解性。 提前感謝大家的時間。

雖然我懷疑它是否有助於可讀性,但如果您在 function 之外定義文檔字符串,則可以在定義 function 之后設置文檔字符串,如下所示:

import login_file

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

login.__doc__ = login_file.login_doc.__doc__

或者,定義一個裝飾器來更改 function 的文檔字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM