@Hacker2961

FileNotFoundError: [Errno 2] No such file or directory: 'config.txt', как исправить?

Пишу я бота на питоне, и мне нужно, чтобы его токен читался из файла который находится в этой же директории (в папке bot есть два файла - python скрипт и config.txt)
Когда я запускаю, мне выбивает ошибку, мол такой файл не найден, хотя он есть:
FileNotFoundError: [Errno 2] No such file or directory: 'config.txt'

Пробовал ставить /, //, \, \\ - не помогает
ОС - Win 7
Как это исправить?
  • Вопрос задан
  • 59 просмотров
Решения вопроса 2
@Vindicar
Путь у вас относительный. Поэтому он считается относительно текущего рабочего каталога. Этот каталог может совпадать с каталогом, в котором лежит скрипт, а может не совпадать!
Поэтому лучший способ - вычислять путь самому.
sys.argv[0] всегда указывает на путь к файлу скрипта.
Поэтому можно сделать либо так (с помощью os.path):
os.path.join(os.path.dirname(sys.argv[0]), 'config.txt')

либо так (с помощью pathlib)
pathlib.Path(sys.argv[0]).parent / 'config.txt'
Ответ написан
@Hacker2961 Автор вопроса
Для тех у кого была такая же проблема, радуйтесь! Я все решил!

Создайте в этой же директории с файлами .py и config.txt файл start.bat в котором следующий код:
python ваш_файл.py и запускайте этот батник
У меня это решило проблему!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы