Питон не видит файл в директории

fileLocation = open("2.txt")
print(fileLocation)

Не видит этот файл, хоть он 100% есть и находится в моей директории.

Выдает ошибку:

[Errno 2] No such file or directory: '2.txt'


Ответы (1 шт):

Автор решения: Геннадий Алейников

Только что столкнулся с этой проблемой и нашёл решение. Но прежде - если вы работаете в VS Code - проверьте, откуда в терминале запускается файл. Если нужно будет - перейдите в терминале в нужную директорию через команду cd. Или же попробуйте запустить файл не в IDE.

В моём случае оказалось, что VS Code запускал файл из другой папки. Это выглядело так:

  • Папка_1
    • Папка_2
      • Папка_3.1
        • Искомый_файл
        • Программа.py
      • Папка_3.2

VS Code запускал программу, условно, из D:\Папка_1, в то время как нужно было из D:\Папка_1\Папка_2\Папка_3.1. Я узнал это, получив путь файла с помощью следующего кода:

import os, sys

# Выводит абсолютный путь программы D:\Папка_1\Папка_2\Папка_3.1\Программа.py
print(os.path.abspath(__file__))
# Выводит путь к папке с программой D:\Папка_1\Папка_2\Папка_3.1\
print(os.getcwd()) 

Почему и как VS Code запускал программу не из того файла, в котором она лежала? Понятия не имею.

Если ваша IDE запускает файл не там, где нужно, то вы это узнаете, и увидите, откуда она его запускает второй командой - os.getcwd().

Если это не помогает и путь правильный - проверьте, какие файлы вообще видит программа с помощью следующего кода:

# Выводит список из файлов, лежащих в настоящей директории: ['Искомый_файл', 'Программа.py']
print(os.listdir())

Если в выведенном списке будут все имеющиеся в папке файлы за исключением только искомого - то возможно проблема в самом файле.

→ Ссылка