Найти - Пользователи
Полная версия: FileNotFoundError: [Errno 2] No such file or directory:
Начало » Python для новичков » FileNotFoundError: [Errno 2] No such file or directory:
1 2
raulIQ
я новичок в python.Хотел бы узнать почему возникает ошибкаFileNotFoundError: No such file or directory:
при таком коде :
 a = open('test.txt','r')
print(a.read())
a.close()

полный текст ошибки:
 C:\Users\777>python "c:/raul/myprm/day2.py"
Traceback (most recent call last):
  File "c:/raul/myprm/day2.py", line 1, in <module>
    a = open('test.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'

программа с открываемым файлом лежат в одной папке
AD0DE412
чудно, может быть он каким то образом не доступен для интапретатора?
(права итд)
зы как запускаете скрипт?
doza_and
AD0DE412
чудно,
Совсем не чудно, а скорее стандартно для пользователя windows.

open('test.txt','r') открывает файл в текущей рабочей директории (os.getcwd()), которая очевидно совсем не обязана совпадать с директорией в которой лежит скрипт.

В данном случае все очевидно.
текущая директория скорее всего C:/Users/777
расположение скрипта c:/raul/myprm/

А в windows в зависимости от того куда и как тычет мышой пользователь запросто может получиться так что текущая директория совсем незнамо какая, например директория интерпретатора sysytem32 текущая директория установленная в pycharm, место расположения основного исполняемого файла ide и т.п.

На мой взгляд преодолевается это установкой под windows нормальной консоли и работой только из нее а не через всякие там explorer и т.п..

Vladimirv
doza_and
Совсем не чудно, а скорее стандартно для пользователя windows.
Редкий случай, когда винда не причем. Такая же история будет и в Linux. Файл test.txt нужно положить в директорию 777, тогда не будет проблем с нахождением, т.е. в рабочую директорию из которой запускается скрипт, относительно неё ищется файл.
Для того чтобы, запускать скрипт из любой директории и файл лежащий вместе со скриптом был найден, нужно определить путь к директории скрипта и добавлять его к имени файла.
AD0DE412
raulIQ
программа с открываемым файлом лежат в одной папке
doza_and
Vladimirv
Редкий случай, когда винда не причем.
Очень даже причем. Не Windows пользователю не требуется обычно разжевывать что такое текущая директория.
Vladimirv
Файл test.txt нужно положить в директорию 777
Мутный совет. А что собственно в этом файле? Откуда взялся как меняется? Если это данные к скрипту то можно в документации по setuptools прочитать какой подход принят в питоне для размещения ресурсов, да и самих скриптов.
Vladimirv
doza_and
А что собственно в этом файле? Откуда взялся как меняется?
Серьёзно? Вас это интересует? Вы внимательно прочитали проблему ТС? ТС играется с файлами и просто хочет прочитать файл.
doza_and
Мутный совет.
В чем он “мутный”? Написал куда положить файл и почему он должен быть там(при таком запуске скрипта и таком указании пути к файлу). Также написал как правильно сделать, для запуска скрипта из любой директории и любом размещении скрипта с файлом.
doza_and
Очень даже причем. Не Windows пользователю не требуется обычно разжевывать что такое текущая директория.
Спорить не буду))) Но этим вы загнобили всех пользователей винды)))
doza_and
Vladimirv
Но этим вы загнобили всех пользователей винды)))
Ну может и перегнул. Статистика даже данного сайта показывает что обычно такого рода вопросы у пользователей винды. Но с другой стороны похоже что таких пользователей просто гораздо больше…
Vladimirv
Вы внимательно прочитали проблему ТС?
Нет не внимательно. Но у меня у самого часто случается выбор. Положить данные непосредственно в скрипт, положить как общий ресурс для всех кто пользуется данным скриптом или положить в текущей папки типа для текущего проекта.
Возможны разные варианты, какой вариант лучше зависит от сценария использования данных. На это я и хотел обратить внимание ТС.
VMatvievskiy
Здравствуйте! Не хочу плодить отдельную тему, тк ошибка вроде та же, что и у ТС, может подскажете…

Подобный скрипт:
s = “C:\\PP\\Hello.py”
exec(open(s).read())

Почему может выдавать такую ошибку:
—————————————————————————
FileNotFoundError Traceback (most recent call last)
<ipython-input-46-f408a41958d0> in <module>
5 s = “C:\\PP\\Hello.py”
6 print(s)
—-> 7 exec(open(s).read())

?

Ведь путь указан целиком, со слэшами игрался, в PATH питон прописан… что может быть не так?

Система WinServ16, запускаю в JupiterNotebook или батником - результат один…
doza_and
VMatvievskiy
что может быть не так?
1. А вы dir делали в папке? Для тех кто пользуется эксплорером характерно создание файлов Hello.py.txt. Может это?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB