Ошибка 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
Чебуратор тега РНР
Надо всегда обязательно читать, что написано в сообщении об ошибке.
Желательно — глазами.
Оно пишет человеческим языком — где мы сидим и какой файл пытаемся открыть
/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. Более экзотические причины.
Причина ошибки может быть самой разной, в зависимости от приложения, которое вы используете.
Если это как раз тот случай, напишите о нем в комментариях, в будущем это очень поможет другим.