Python 3.4 - 在具有不同目录的模块中打开文件

Python 3.4 - Opening a file in a module with a different directory

我有一个如下所示的包裹

package/
    __init__.py
    module.py

module.py我有这样的东西

def function(file_name):
    with open(file_name) as f:
        # do stuff

在任意目录的其他地方我有一个 python 文件,看起来像这样

import package

package.function("some_file.txt")

但是在 运行 上,它给了我 FileNotFoundError: [Errno 2] No such file or directory: "some_file.txt"

问题是 some_file.txt 的绝对路径可能类似于 C:\Users\USER\Documents\some_file.txt,但在 package.function 中,路径绝对路径类似于 C:\Users\USER\Documents\package\some_file.txt。有什么方法可以使从 package 目录外的某个文件调用 package.function 自动包含我要打开的文件的绝对路径?

抱歉,如果我的术语真的含糊不清,我真的不熟悉 os 东西。

编辑:我的确切文件设置如下所示:

directory/
    foo.py
    package/
        __init__.py
        module.py
    another_directory/
        bar.txt

foo.py 看起来完全像这样

import package

package.function("another_directory/bar.txt")

我认为你没有抓住重点。

源代码位于何处并不重要,相对路径(和纯文件名相对路径)总是相对于程序进程运行的目录(即. 键入 python C:\Path\to\my\python\code\code.py )

时所在的目录