Если вы получили сообщение об ошибке «FileNotFoundError: [WinError 2] Система не может найти указанный файл», это означает, что по указанному вами пути нет файла.
В этом руководстве мы узнаем, когда это вызывается программой, и как обрабатывать ошибку FileNotFoundError в Python.
Воссоздание ошибки
Давайте воссоздадим этот скрипт, где интерпретатор Python выдает FileNotFoundError.
В следующей программе мы пытаемся удалить файл, но мы предоставили путь, которого не существует. Python понимает эту ситуацию, как отсутствие файла.
import os
os.remove('C:\workspace\python\data.txt')
print('The file is removed.')
В приведенной выше программе мы попытались удалить файл, находящийся по пути C:\workspace\python\data.txt.
Консольный вывод:
C:\workspace\python>dir data*
Volume in drive C is OS
Volume Serial Number is B24
Directory of C:\workspace\python
22-02-2019 21:17 7 data - Copy.txt
20-02-2019 06:24 90 data.csv
2 File(s) 97 bytes
0 Dir(s) 52,524,586,329 bytes free
У нас нет файла, который мы указали в пути. Итак, при запуске программы система не смогла найти файл, что выдаст ошибку FileNotFoundError.
Как решить проблему?
Есть два способа обработки ошибки FileNotFoundError:
- Используйте try-except и обработайте FileNotFoundError.
- Убедитесь, что файл присутствует, и выполните соответствующую операцию с файлом.
В следующей программе мы использовали Try Except. Мы будем хранить код в блоке try, который может вызвать ошибку FileNotFoundError.
import os
try:
os.remove('C:/workspace/python/data.txt')
print('The file is removed.')
except FileNotFoundError:
print('The file is not present.')
Или вы можете проверить, является ли указанный путь файлом. Ниже приведен пример программы.
import os
if os.path.isfile('C:/workspace/python/data.txt'):
print('The file is present.')
else:
print('The file is not present.')