Почему питон не видит файл txt
Перейти к содержимому

Почему питон не видит файл txt

  • автор:

Питон не видит файл в директории [закрыт]

Вопрос вызван проблемой, которая больше не воспроизводится, или опечаткой. Хотя похожие вопросы могут быть уместны на этом сайте, решение для этого вопроса вряд ли поможет будущим посетителям. Обычно можно избежать подобных вопросов написанием и исследованием минимальной программы для воспроизведения проблемы до публикации вопроса.

Закрыт 1 год назад .

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

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

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

Отслеживать
13.8k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков
задан 9 июл 2022 в 20:14
TypicalL L TypicalL L
19 1 1 серебряный знак 6 6 бронзовых знаков
Комментарии не предназначены для расширенной дискуссии; разговор перемещён в чат.
9 июл 2022 в 21:58
файл-то в твоей директории. А питон?
24 авг 2022 в 9:22

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

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

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

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

        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()) 

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

        Работа с файлами в Python

        Загрузить данные в программу из файла, выгрузить данные в файл, записывать историю обращений к программе в специальный файл — всё это очень частые задачи.

        Как открыть файл

        Чтобы открыть файл, используется функция open() :

        my_file = open("myfile.txt", "r") file_contents = my_file.read() my_file.close() 
        • Функция open() принимает на вход 2 аргумента: путь до файла и права, с которыми его открыть. r — от read , т.е. мы просим открыть файл в режиме чтения.
        • Функция open() возвращает не текст в файле, а сам файл. Файл как бы теперь открыт, как если вы бы щёлкнули по нему дважды левой клавишей.
        • Метод файла .read() позволяет читать данные из файла. Строка с содержимым файла запишется в переменную file_contents .
        • Метод .close закрывает файл.

        Как сделать правильно

        Закрывать файлы важно по двум причинам:

        1. Чтобы читать и писать в один и тот же файл из разных мест программы.
        2. Чтобы не превысить лимиты операционной системы. У неё есть ограничение на число одновременно открытых файлов. Ограничение легко превысить, если открывать файлы в цикле.

        Однажды вы точно забудете закрыть файл. В Python есть специальная команда на такой случай — with :

        with open("myfile.txt", "r") as my_file: file_contents = my_file.read() print(file_contents) 

        Выглядит немного непривычно, но суть простая: всё, что лежит “внутри” блока with (т.е. с отступом от него) — делается с открытым файлом. Как только файл не нужен, вы убираете отступ и файл сам закроется.

        Открыть файл в папке

        Допустим, рядом c вашим файлом main.py , из которого вы запускаете код, лежит папка files . В этой папке лежит файл file.txt :

        . ├── files │ └── file.txt └── main.py 

        Вам очень нужно открыть файл file.txt , но он спрятался в папке, что же делать? Вот как его открыть:

        with open("files/file.txt", "r") as my_file: file_contents = my_file.read() print(file_contents) 

        Ошибки кодировки

        Бывает, что вы знаете, что файл в порядке, но Python читает его со странными символами: ������. Дело в кодировках: одни программы пользуют CP1251, другие ASCII, третьи UTF-8. К сожалению, программистам до сих пор не получилось окончательно перейти к какому-то одному варианту.

        Чтобы открыть файл с нужной кодировкой, нужно передать функции open именованный аргумент encoding :

        with open("myfile.txt", "r", encoding="ваша кодировка") as my_file: # . 

        Если вы не знаете кодировку вашего файла, на Хабре есть интересная статья с такой схемой:

        Запись в файл

        Для записи в файл нужно лишь указать режим w (write) и использовать не .read() , а .write() :

        my_text = "Хочу записать эту строку в файл" with open("myfile.txt", "w") as my_file: my_file.write(my_text) 

        Альтернативные статьи

        • Python World: работа с файлами
        • Python Scripts: работа с файлами

        Попробуйте бесплатные уроки по Python

        Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.

        Переходите на страницу учебных модулей «Девмана» и выбирайте тему.

        Python-сообщество

        [RSS Feed]

        • Начало
        • » Python для новичков
        • » python не видит файл txt

        #1 Янв. 5, 2013 11:37:05

        anuket Зарегистрирован: 2013-01-05 Сообщения: 4 Репутация: 0 Профиль Отправить e-mail

        python не видит файл txt

        Текстовый файл и программа в одной папке но всё равно выдаёт
        Traceback (most recent call last):
        File “C:\Users\Anuket\Desktop\New folder\inimene.py”, line 1, in
        fm=open(“inimene.txt”)
        FileNotFoundError: No such file or directory: ‘inimene.txt’

        пробую уже без программы просто открыть закрыть
        fm=open(“inimene.txt”)
        fm.close()
        и всё равно

        в чём ошибка? или как вписать туда ещё и путь Users\Anuket\Desktop\New folder\ для поиска ??

        #2 Янв. 5, 2013 11:57:18

        romis От: Зарегистрирован: 2010-10-04 Сообщения: 20 Репутация: 0 Профиль Отправить e-mail

        python не видит файл txt

        fm=open(inimene.txt, "r") 

        #3 Янв. 5, 2013 12:12:44

        anuket Зарегистрирован: 2013-01-05 Сообщения: 4 Репутация: 0 Профиль Отправить e-mail

        python не видит файл txt

        #4 Янв. 5, 2013 12:53:09

        doza_and От: Зарегистрирован: 2010-08-15 Сообщения: 4138 Репутация: 252 Профиль Отправить e-mail

        python не видит файл txt

        anuket
        или как вписать туда ещё и путь

        Никаких путей для поиска файлов при обычном их открывании не предусмотрено.

        Обычная история под виндами у людей которые активно используют мышку и explorer — это неожиданная текущая директория (именно там и ищется файл если не указан абсолютный путь).

        проверьте какая у вас директория текущая. Для этого выполните

        import os print os.getcwd() 

        Чтобы не было путаницы рекомендую пользоваться НОРМАЛЬНЫМИ утилитами для навигации по директориям и запуска приложений, которые устанавливают текущую директорию ожидаемым образом (far например).

        Отредактировано doza_and (Янв. 5, 2013 12:57:16)

        Файл не найден, проблемы с путями

        Author24 — интернет-сервис помощи студентам

        У меня есть два файла один «.py» другой «.txt» и в «.py» стоит команда чтобы чтобы прочитывался «.txt»,но если допустим эти файлы стоят на раб столе то python не читает txt и выводит ошибку «FileNotFoundError: [Errno 2] No such file or directory:» и а вот если засунуть эти два файла в папку с самим python-ом то все работает отлично. Так вот вопрос в том что сделать чтобы python читал эти файлы, с рабочего стола?

        Лучшие ответы ( 1 )
        94731 / 64177 / 26122
        Регистрация: 12.04.2006
        Сообщений: 116,782
        Ответы с готовыми решениями:

        Проблемы с путями, mod_rewrite
        Привет всем! Столкнулся с проблемой. Использую стандартный шаблон MVC. В корне сайта есть папка.

        Развертывание war на сервере, проблемы с путями
        добрый вечер Имеется приложение — JSP+Servlet+ JDBC в чем проблема: развернул war и запустил его.

        Работа с файл-путями. Ищу ошибку
        Помогите найти ошибку в коде. Задание: есть папка Test, в ней лежат файлы *.MP4 и *.png. .

        Формирование списка содержимого папок в файл с модифицированными путями
        Доброго времени суток, товарищи. Прошу помощи у более сведущих товарищей. Есть каталог x:\photos\.

        Работа с путями, проверка наличия файла, подсчет слов и запись в файл
        Всем привет,есть такое задание,помогите выполнить на языке bash Разработать скрипт, который: .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *