Я прочитал много вопросов по этой проблеме, но я заметил, что это происходит по многим причинам, и не нашел ответа на мою конкретную проблему. Дело в том, что я случайно удалил некоторые файлы и использовал photorec, чтобы попытаться их восстановить (у меня Ubuntu 16.04 Xenial). Проблема в том, что он восстановил более 2600 папок! Я пишу небольшой файловый сканер, чтобы избавиться от ненужных мне файлов - меня интересуют только файлы .py, .jpg, .png и .mp3. Вот код моего сканера:
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()
. Вы должны передать полный путь. - person John Gordon   schedule 23.09.2016