Python выдает ошибку для пути к файлу внутри папки Project, где это не предполагается, и кажется, что это сбой Python
Python выдает некоторую непоследовательную ошибку для ссылки на файл внутри папки проекта на основе «Рабочего каталога» в конфигурации скрипта, что очень странно.
Моя структура проекта выглядит следующим образом
config_utils.py
f = ''
def config_init():
global f
txt_dir = '../files/sample.txt'
f = open(txt_dir, "r")
f = f.read()
мой код.py
import config_ru.config_utils as cu
cu.config_init()
print(cu.f)
При выполнении mycode.py он выдает следующую ошибку относительно «sample.txt» в пакете «files».
но если я изменю рабочий каталог «my_code.py» в конфигурации скрипта с «level2» на «level1», mycode.py будет успешно выполнен
Это очень странно, потому что в обоих случаях расположение «sample.txt» остается неизменным, и как ошибка, так и принудительное изменение рабочего каталога кажутся неприемлемыми. Просьба уточнить
1 ответ
Обходной путь заключается в том, чтобы получить путь к модулю, в котором вы находитесь, и применить к нему относительный путь к файлу ресурсов:
from pathlib import Path
f = ''
def config_init():
global f
p = Path(__file__).parent.absolute()
txt_dir = (p / '../files/sample.txt').resolve()
f = open(txt_dir, "r")
f = f.read()