Чтение файла с использованием относительного пути в проекте Python

Скажем, у меня есть проект Python, который структурирован следующим образом:

project
    /data
        test.csv
    /package
        __init__.py
        module.py
    main.py

__init__.py:

from .module import test

module.py:

import csv

with open("..data/test.csv") as f:
    test = [line for line in csv.reader(f)]

main.py:

import package

print(package.test)

Когда я бегуmain.py Я получаю следующую ошибку:

 C:\Users\Patrick\Desktop\project>python main.py
Traceback (most recent call last):
  File "main.py", line 1, in <module>
    import package
  File "C:\Users\Patrick\Desktop\project\package\__init__.py", line 1, in <module>
    from .module import test
  File "C:\Users\Patrick\Desktop\project\package\module.py", line 3, in <module>
    with open("../data/test.csv") as f:
FileNotFoundError: [Errno 2] No such file or directory: '../data/test.csv'

Однако, если я бегуmodule.py отpackage каталог я получаю без ошибок. Таким образом, кажется, что относительный путь, используемый вopen(...) зависит только от того, откуда запускается исходный файл (т.е.__name__ == "__main__")? Я не хочу использовать абсолютные пути. Какие есть способы справиться с этим?

Ответы на вопрос(2)

Ваш ответ на вопрос