Я прочитал много вопросов с этой проблемой, но я заметил, что это происходит по многим причинам и не нашел ответа на мой особая проблема. Дело в том, что я случайно удалил несколько файлов и использовал photorec, чтобы попытаться восстановить их (я на Ubuntu 16.04 Xenial). Проблема в том, что он восстановил 2600 + папок! Я пишу немного filecrawler, чтобы избавиться от файлов, которые мне не нужны. Единственные файлы, которые меня интересуют, - это .py, .jpg, .png и .mp3. Вот код для моего искателя:Python - OSError: [Errno 2] Нет такого файла или каталога
import os
path=
for (path, dirs, files) in os.walk(path):
for name in files:
if name.endswith('.py') or name.endswith('.jpg') or name.endswith('.png') or name.endswith('.mp3'):
continue
else: os.remove(name)
Я определяю «путь» вручную, и я сделал тест, где я печатаю часть путей, директорий и файлов, а также печатает то, что я хочу. Однако при выполнении приведенного ниже кода он возвращает:
OSError: [Errno 2] No such file or directory: 'f0272560.java'
Который я предполагаю, это первый файл, который я пытаюсь удалить. Я предполагаю, что он ищет файл снова, после того как он был удален уже. Имеет ли это смысл или это что-то еще вызывает ошибку? Как я могу это исправить?
Заранее благодарен!
Вы передаете только голое имя файла 'os.remove()'. Вы должны передать полный путь. –