簡體   English   中英

Python軟件包:我可以從調用它的項目目錄中查找config / yml文件嗎?

[英]Python package: Can I look for config/yml file from project directory which called it?

我正在編寫一個Python包,其中包含一堆特定於我們團隊的實用程序類型的函數,以便它們可以安裝,導入和使用它們。 其中一些功能訪問需要身份驗證的服務,因此我在READ Me文件中指示它們在其項目目錄中創建一個包含其憑據的YAML文件。

當他們導入此程序包並從中調用函數時,程序包是否有辦法在調用它的目錄中查找此YAML文件? 還是他們需要自己解析文件並將憑據作為參數傳遞給函數本身?

__file__變量包含Python程序的名稱或路徑。 我們可以使用os.path子模塊中的函數來獲取文件(在我的示例中稱為password.yml )。

import os.path
prog = __file__
directory = os.path.dirname(os.path.abspath(prog))
print(os.path.join(directory, 'password.yml'))

abspath將名稱轉換為絕對文件(從文件系統根目錄開始)。 dirname刪除最后一個(文件名)組件,保留目錄,並使用適合您平台的分隔符(對於大多數操作系統為'/' ,對於Windows為'\\' ), join將目錄路徑和文件名放在一起。

暫無
暫無

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

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