No such file or directory что делать
Перейти к содержимому

No such file or directory что делать

  • автор:

Ошибка FileNotFoundError: [Errno 2] No such file or directory

картинка

Командная строка выдает ошибку FileNotFoundError: [Errno 2] No such file or directory , подробнее на скрине (столкнулся с такой проблемой, изучая учебник Лутца по Python и не могу сдвинуться в изучении языка из-за этого) Буду признателен за помощь. Код script1.py:

import sys print(sys.platform) print(2**100) x='spam!' print(x*8) 

Отслеживать
47.5k 17 17 золотых знаков 56 56 серебряных знаков 99 99 бронзовых знаков
задан 21 сен 2018 в 7:00
Арефьев Данил Арефьев Данил
11 1 1 золотой знак 1 1 серебряный знак 6 6 бронзовых знаков
Ну в общем да, пробел — фиговая замена слэшу.
21 сен 2018 в 7:03
@Akina я где-то допустил ошибку?
21 сен 2018 в 7:13

На скриншоте я вижу в сообщении об ошибке следующее имя файла: ‘c:\\python370 script1.py’ . Тогда как согласно окну эксплорера оно должно быть ‘c:\\python370\script1.py’ .

21 сен 2018 в 7:18
@Akina и как мне это исправить,я же не прописывал эту команду?
21 сен 2018 в 7:23

А кто? я вообще к тому компьютеру не прикасался. само собой оно не запустится, кто-то должен дать команду — вот к этому кому-то и адресуйте вопросы. На скриншоте даже самой команды не видно.

21 сен 2018 в 7:46

1 ответ 1

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

Есть различные способы задать путь к файлу или папке:

  • c:\python370\script1.py — абсолютный путь
  • script1.py — относительный путь, задается относительно текущей рабочей директории. В данном случае файл должен находиться в текущей директории.

В вашем случае текущая директория C:\Users\Acer , вы пытаетесь открыть файл script1.py , но он у вас находится не в этой директории, а в c:\python370 . Поэтому просто по имени файла вы файл не откроете, нужно указать полный (абсолютный) путь:

exec(open('c:\\python370\\script1.py').read()) 

Или запускать Python сразу из нужной директории — двойным кликом по файлу python.exe в папке c:\python370 или в окне cmd сначала перейти в директорию, где лежит нужный файл, потом запустить python, и пробовать открыть файл.

Microsoft Windows [Version 6.1.7601] (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены. C:\Users\Михаил> 

C:\Users\Михаил — это текущая директория.

Меняем текущую директорию такой командой (опять же в cmd, до запуска python):

cd c:\Python370 

В python текущую директорию можно узнать, выполнив команды:

import os print(os.getcwd()) 

cwd — сокращение от current working directory — текущая рабочая директория.

Поменять текущую директорию из Python можно так:

import os os.chdir('c:\\python370') 

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

Кстати, чтобы не экранировать обратные слеши в строке пути, можно использовать «сырые» (raw) строки, с буквой r перед кавычками, например:

import os os.chdir(r'c:\python370') 

Урок 13: Ошибка ‘No such file or directory @ rb_sysopen’

Здравствуйте, искал что за ошибка, но так и не понял как исправить. Вроде бы делаю как и вы на видео но все равно выдает ошибку. Подскажите пожалуйста, что за ошибка?

Обсуждение (3)

Вадим Венедиктов Учитель

Программа не может открыть файл, который вы просите. Убедитесь, что относительный путь к файлу правильный.

Если вы пишете так:

File.new("./quotes.txt","r:UTF-8") # обратите внимание на точку и слеш перед именем файла 

то файл quotes.txt должен лежать в той же папке, из которой вы запускаете вашу программу. Мы про это подробнее говорим в следующих уроках. У нас в уроке мы сохраняем файл в папке data рядом с программой. Поэтому в программе мы пишем:

File.new("./data/quotes.txt","r:UTF-8") 

Запускать такую программу нужно из папки с программой, ни в коем случае не из папки data .

Чтобы точно понять, что не так, приложите к вопросу (можно отдельным ответом), zip-папку с вашей программой и файлами.

Анатолий Шалобасов

Почему пишет No such file or directory хотя файл есть?

Хочу установить анаконду
для этого мне нужно запустить скрипт в командной строке
перехожу в командной строке в директорию где лежит скрипт
и прописываю его
выдвает ошибку No such file or directory
Почему так проичсходит.

root@w:/home/ut/Downloads# bash ~/Downloads/Anaconda3-2018.12-Linux-x86_64 bash: /root/Downloads/Anaconda3-2018.12-Linux-x86_64: No such file or directory
  • Вопрос задан более двух лет назад
  • 10304 просмотра

Комментировать
Решения вопроса 1

Почему так проичсходит.

Потому что такого файла нет. Есть такой, к примеру: Anaconda3-2020.11-Linux-x86_64.sh , с .sh в качестве расширения.

И устанавливать надо не от рута, а обычным пользователем.

Ответ написан более двух лет назад
ddhyth @ddhyth Автор вопроса
если я допушу .sh будет тоже самое

ddhyth, См. ответ Фаната. Я тот косяк, о котором он написал, не заметил.

И зачем ставить версию 2-летней давности, если есть гораздо более новая?

ddhyth @ddhyth Автор вопроса

AVKor, я не понимаю о чем он говорит. Я ставлю такую версию потому что у меня питон такой версии. На сайте было написано что они должны совпадать

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

/home/ut/Downloads$ bash Anaconda3-2018.12-Linux-x86_64.sh

(имя правильное быть должно, как я предполагаю, с .sh в конце).
ddhyth @ddhyth Автор вопроса

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

ut@w:~ $ /home/ut/Downloads/Anaconda3-2018.12-Linux-x86_64.sh bash: /home/ut/Downloads/Anaconda3-2018.12-Linux-x86_64.sh: Permission denied

ddhyth, Потому что рут для администрирования системы.

/home/ut/Downloads$ bash Anaconda3-2018.12-Linux-x86_64.sh

ddhyth @ddhyth Автор вопроса
AVKor, все запустилось! Спасибо большое! !!
ddhyth @ddhyth Автор вопроса
AVKor, Да, я по этой инструкции и ставлю
Ответы на вопрос 2

FanatPHP

Чебуратор тега РНР

Надо всегда обязательно читать, что написано в сообщении об ошибке.
Желательно — глазами.
Оно пишет человеческим языком — где мы сидим и какой файл пытаемся открыть

/home/ut/Downloads /root/Downloads/

Не наводит ни на какие мысли?

А что у нас означает буквочка ~?

Ну и совсем уж риторический вопрос: раз уж мы перешли в папку с файлом, то зачем указывать путь к ней?

Ну и напоследок — не зря все мудрые руководства рекомендуют не сидеть под рутом

No such file or directory — в чем причина?

Ошибка «No such file or directory» появляется, когда нужный файл отсутствует.

Давайте исключим самое банальное:

1. Файла нет на диске

user@pc1:~$ cat hello.cpp cat: hello.cpp: No such file or directory

Поскольку отсутствует файл hello.cpp , то выводится ошибка

2. Кириллица в названии

Проверьте, что в названии файла буква «с» не написана кириллицей. Например в расширении «.cpp».

3. Неправильный путь

Пример из Python

data_file= open ("../text.txt",'r')

«../» в общем случае говорит о том, что файл будет искаться на 1 директорию выше, чем файл с кодом.

Если файл лежит в директории с кодом, то следует писать:

data_file= open ("./text.txt",'r')

4. Неправильная битность

Вы можете увидеть ту же ошибку, если пытаетесь запустить например 64-битное приложение на 32-битной Windows

5. Более экзотические причины.

Причина ошибки может быть самой разной, в зависимости от приложения, которое вы используете.

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

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

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