Как я могу получить доступ к относительным путям в Python 2.7 при импорте разными модулями

Цель: Доступ / запись в одни и те же временные файлы при использовании общей служебной функции, вызываемой из различных модулей Python.

Справочная информация: Я использую модуль Python Unittest для запуска наборов пользовательских тестов, которые взаимодействуют с инструментарием через pySerial. Поскольку я использую модуль unittest, я не могу передать необходимые переменные, например, какой последовательный порт использовать, в тестовый пример unittest. Чтобы обойти это, я хочу создать модуль, который хранит и возвращает консервированные данные. Я столкнулся с проблемой, когда я вызываю функцию get_foo () из test_case_1 (), она пытается загрузить обработанные данные по относительному пути на основе test_case_1 (), а не фактического модуля, содержащего get_foo ().

Стоит отметить, что я подумывал об использовании глобальных переменных, но есть несколько данных, которые я хочу сохранять от запуска к запуску. Это означает, что все модули python будут закрыты, и я хочу повторно загрузить данные, которые были сохранены при предыдущем выполнении.

Я в SO вопрос: Python - как ссылаться на относительные пути ресурсов при работе с репозиторием кода , я думал, что нашел решение в первом ответе. К моему ужасу, у меня это не работает в Python 2.7 (Debian)

Есть ли надежный способ вернуть путь к определенному файлу при вызове из разных модулей?

5
задан Community 23 May 2017 в 12:23
поделиться