如何使用来自其他地方的相对路径调用函数?

时间:2018-04-17 03:35:45

标签: python

我正在写一个Python包。索引如下文

main.py
pkg
|--utils.py
|--files
   |--1.txt
   |--2.txt

我编写了一个函数来使用相对路径加载1.txt中的文件utils.py。它适用于utils.py,但在main.py调用该函数时失败。

我知道原因是相对路径发生了变化。我想知道如何解决它而不改变相对路径。

另一个问题是如何在上传到pipy时将文件添加到python包中。

1 个答案:

答案 0 :(得分:0)

处理此问题的最佳方法是将files/*指定为package_data并使用pkg_resources.resource_filename。在setup.py中,假设您的包名为“pkg”,请在setup()内添加以下内容:

package_data={'pkg': ['files/*']}

然后使用:

import pkg_resources
filepath = pkg_resources.resource_filename('pkg', '1.txt')