Python包: Can I look for config/yml file from project directory which called it?

标签 python python-3.x package yaml pypi

我正在编写一个 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 删除最后一个(文件名)组件,留下目录,而 join 使用适合您平台的分隔符将目录路径和文件名放在一起('/' 对于大多数操作系统,'\' 对于 Windows)。

关于Python包: Can I look for config/yml file from project directory which called it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52994289/

相关文章:

python - 如何删除字符串中的所有标点符号? (Python)

python - urllib.error.URLError : <urlopen error timed out>

python-3.x - 如何选择keras密集层的前k个元素?

java - 如何为不以 ".com"开头的站点命名Android应用程序包

python - 使用 pip 命令从 requirements.txt 升级 python 包

python - 如何使用 matplotlib Python 绘制时间序列

python - 在不修改 boto 文件的情况下禁用 boto 日志记录

python - for 循环中未使用的变量

r - 你如何在 R 中创建嵌套表?

python - 模块的依赖注入(inject)