Импортированный файл Python с относительным путем внутри - PullRequest
0 голосов
/ 13 декабря 2018

У меня проблема с относительными путями в моем проекте Python 2.7.У меня есть два файла, давайте назовем их script.py и importScript.py, которые имеют разные каталоги, потому что importScript находится в подпапке.У importScript.py есть метод openCSV (), который импортируется в script.py с

from subfolder.importedScript import openCSV

. Это прекрасно работает.Метод openCSV (имя файла) имеет следующий код внутри:

script_path = os.path.dirname(os.path.abspath(__file__))
filepath = os.path.join(script_path, 'subfolder2/' + filename)
dataset = pd.read_csv(filepath) 

Этот код импортирует файл .csv из подпапки.Это также хорошо работает, если я сам запускаю importScript.py.

Проблема в том, что когда я запускаю script.py, относительный путь в importScript.py генерируется неправильно.По некоторым причинам система пытается загрузить файл importScript.py из «subfolder2 /» вместо «subfolder / subfolder2».

Кто-нибудь знает, как это исправить?

Редактировать: В подпапке2 находятся разные файлы .csv, и я хочу открыть разные файлы из разных файлов python.

1 Ответ

0 голосов
/ 13 декабря 2018

вы можете передать переменную __file__ методу при вызове:

def OpenCSV(file):
    here = os.path.dirname(os.path.abspath(file))
    ...etc

можно вызвать, выполнив OpenCSV(__file__)

...