Как удалять файлы в папке с определённым размером python
Помогите, есть папка, где куча неправильных изображений с единым размером. как сделать так, чтобы при запуске python скрипта эти файлы удалялись?
Отслеживать
задан 5 ноя 2021 в 16:40
11 1 1 бронзовый знак
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Так можно, размер в байтах указан:
import os path = 'path/to/fold' for item in os.listdir(path): size = os.path.getsize(f'/') if size == 7161: os.remove(f'/')
Отслеживать
ответ дан 5 ноя 2021 в 16:48
1,796 1 1 золотой знак 7 7 серебряных знаков 20 20 бронзовых знаков
А можно как-то в КБ
5 ноя 2021 в 17:14
ну разделите на 1024, Дмитрий 🙂
5 ноя 2021 в 17:17
поделите на 1024, но не факт что совпадет , тогда лучше округлять оба значения, если это возможно в вашем случае и не навредит остальным файлам
5 ноя 2021 в 17:24
- python
- python-3.x
- алгоритм
- файлы
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Удаление файла в Python: проверка на существование
Часто при разработке программ на Python возникает ситуация, когда необходимо удалить файл, но при этом неизвестно, существует ли он в принципе. Попытка удалить несуществующий файл приведет к возникновению исключения FileNotFoundError.
Типичный способ решения этой проблемы выглядит следующим образом:
import os filename = 'file.txt' if os.path.exists(filename): os.remove(filename)
В этом примере сначала выполняется проверка на существование файла с помощью функции os.path.exists() , которая возвращает True , если файл или директория с указанным именем существует, и False в противном случае. Если файл существует, то он удаляется с помощью функции os.remove() .
Однако, этот подход требует двух строк кода и может быть упрощен до одной строки с использованием обработки исключений. В Python исключения используются для обработки ошибок, возникающих в процессе выполнения программы. В данном случае можно попытаться удалить файл, не проверяя его существование, и в случае возникновения ошибки просто игнорировать ее.
import os filename = 'file.txt' try: os.remove(filename) except FileNotFoundError: pass
В этом примере с помощью конструкции try/except выполняется попытка удалить файл. Если файл не существует и возникает исключение FileNotFoundError , то оно перехватывается и игнорируется с помощью оператора pass .
Таким образом, с помощью обработки исключений можно выполнить удаление файла, которое может не существовать, в одну строку кода.
Функция remove() модуля os в Python, удалить файл
Функция remove() модуля os удаляет путь path к файлу. Если путь является каталогом, возникает исключение IsADirectoryError . Используйте os.rmdir() для удаления каталогов.
Функция os.remove() семантически идентична os.unlink() .
Обе функции могут поддерживать пути относительно дескрипторов каталогов. Аргумент path может принимать объекты, представляющие путь файловой системы, такие как pathlib.PurePath .
В Windows попытка удалить используемый файл приводит к возникновению исключения. В Unix запись из каталога удаляется, но хранилище, выделенное для файла, становится недоступным, пока исходный файл больше не используется.
Вызывает событие аудита os.remove с аргументами path , dir_fd .
Примеры использования:
import os f = 'test_delete.txt' # создадим файл with open(f, 'w') as fp: fp.write('data string') # удалим файл, если существует if os.path.isfile(f): os.remove(f)
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Управление переменной средой окружения системы
- Представление пути в файловой системе
- Извлечение/установка uid, gid и pid процесса
- Наследование файловых дескрипторов
- Создание дескриптора файла, чтение, запись и его закрытие
- Функция listdir() модуля os
- Функция walk() модуля os
- Функция scandir() модуля os
- Объект DirEntry() модуля os
- Функция stat() модуля os
- Объект stat_result, результаты выполнения os.stat()
- Функция lstat() модуля os
- Функция access() модуля os
- Функция chdir() модуля os
- Функция chmod() модуля os
- Функция chown() модуля os
- Функция chroot() модуля os
- Функция getcwd() модуля os
- Функция link() модуля os
- Функция mkdir() модуля os
- Функция makedirs() модуля os
- Функция symlink() модуля os
- Функция readlink() модуля os
- Функция remove() модуля os, удалить файл
- Функция removedirs() модуля os
- Функция rename() модуля os
- Функция renames() модуля os
- Функция replace() модуля os
- Функция rmdir() модуля os
- Функция strerror() модуля os
- Функция supports_dir_fd модуля os
- Функция supports_effective_ids модуля os
- Функция supports_fd модуля os
- Функция supports_follow_symlinks модуля os
- Функция truncate() модуля os
- Функция utime() модуля os
- Манипулирование списком контроля доступа ACL в Linux
- Функция abort() модуля os
- Функция exec*() модуля os
- Функция popen() модуля os
- Функция system() модуля os
- Функция _exit() модуля os
- Функция fork() модуля os
- Функция kill() модуля os
- Функция spawn() модуля os
- Функция umask() модуля os
- Функция uname() модуля os
- Функция wait() модуля os
- Функция waitpid() модуля os
- Определение состояния процесса
- Константы для поддержки операций с путями
- Генератор случайных байтов на основе модуля os
- Функция startfile() модуля os
- Функция times() модуля os
- Функции getloadavg() и cpu_count() модуля os
- Функция waitstatus_to_exitcode() модуля os
- Функция listdrives() модуля os, имена дисков Windows
- Функция listmounts() модуля os, точки монтирования Windows
- Функция listvolumes() модуля os, список томов Windows
Как удалить файлы и каталоги в Python


Добавить в избранное
Главное меню » Программирование » Python » Как удалить файлы и каталоги в Python
(1 оценок, среднее: 5,00 из 5)

В Python есть несколько встроенных модулей, которые позволяют удалять файлы и каталоги.
В этой статье объясняется, как удалять файлы и каталоги, используя функцию из модуля os, pathlib и shutil.
Удаление файлов
В Python вы можете использовать os.remove(), os.unlink(), pathlib.Path.unlink() чтобы удалить один файл.
Модуль os обеспечивает переносимый способ взаимодействия с операционной системой. Модуль доступен для Python 2 и 3.
Чтобы удалить один файл с помощью os.remove(), передайте путь к файлу в качестве аргумента:
import os file_path = '/tmp/file.txt' os.remove(file_path)
Функции os.remove() и os.unlink() семантически идентичны:
import os file_path = '/tmp/file.txt' os.unlink(file_path)
Если указанный файл не существует, выдается ошибка FileNotFoundError. Оба os.remove() и os.unlink() могут удалять только файлы, а не каталоги. Если указанный путь указывает на каталог, он выдаст ошибку IsADirectoryError.
Для удаления файла требуется разрешение на запись и выполнение в каталоге, в котором находится файл. В противном случае вы получите ошибку PermissionError.
Чтобы избежать ошибок при удалении файлов, вы можете использовать обработку исключений, чтобы перехватить исключение и отправить правильное сообщение об ошибке:
import os file_path = '/tmp/file.txt' try: os.remove(file_path) except OSError as e: print("Ошибка: %s : %s" % (file_path, e.strerror))
Модуль pathlib доступен в Python 3.4 и выше. Если вы хотите использовать этот модуль в Python 2, вы можете установить его с помощью pip. pathlib предоставляет объектно-ориентированный интерфейс для работы с путями файловой системы для разных операционных систем.
Чтобы удалить файл с модулем pathlib, создайте объект Path, указывающий на файл, и вызовите метод unlink() для объекта:
from pathlib import Path file_path = Path('/tmp/file.txt') try: file_path.unlink() except OSError as e: print("Ошибка: %s : %s" % (file_path, e.strerror))
pathlib.Path.unlink(), os.remove() и os.unlink() также могут быть использованы для удаления символической ссылки.
Сопоставление с образцом
Вы можете использовать модуль glob для сопоставления нескольких файлов на основе шаблона. Например, чтобы удалить все файлы .txt в каталоге /tmp, вы должны использовать что-то вроде этого:
import os import glob files = glob.glob('/tmp/*.txt') for f in files: try: f.unlink() except OSError as e: print("Ошибка: %s : %s" % (f, e.strerror))
Читать Как использовать Urllib в Python
Чтобы рекурсивно удалить все файлы .txt в каталоге /tmp и во всех его подкаталогах, передайте аргумент recursive=True функции glob() и используйте шаблон « ** `:
import os import glob files = glob.glob('/tmp/**/*.txt', recursive=True) for f in files: try: os.remove(f) except OSError as e: print("Ошибка: %s : %s" % (f, e.strerror))
Модуль pathlib включает в себя две функции, glob() и rglob() соответствие файлов в заданной директории. glob() сопоставляет файлы только в каталоге верхнего уровня. rglob(), рекурсивно сопоставляет все файлы в каталоге и всех подкаталогах. В следующем примере кода удаляются все файлы .txt в каталоге /tmp:
from pathlib import Path for f in Path('/tmp').glob('*.txt'): try: f.unlink() except OSError as e: print("Ошибка: %s : %s" % (f, e.strerror))
Удаление каталогов (папок)
В Python вы можете использовать os.rmdir() и pathlib.Path.rmdir() для удаления пустой директории, и shutil.rmtree() для удаления непустой директории.
В следующем примере показано, как удалить пустой каталог:
import os dir_path = '/tmp/img' try: os.rmdir(dir_path) except OSError as e: print("Ошибка: %s : %s" % (dir_path, e.strerror))
Кроме того, вы можете удалить каталоги с помощью модуля pathlib:
from pathlib import Path dir_path = Path('/tmp/img') try: dir_path.rmdir() except OSError as e: print("Ошибка: %s : %s" % (dir_path, e.strerror))
Модуль shutil позволяет выполнять ряд операций высокого уровня файлов и каталогов.
С помощью функции shutil.rmtree() вы можете удалить данный каталог, включая его содержимое:
import shutil dir_path = '/tmp/img' try: shutil.rmtree(dir_path) except OSError as e: print("Ошибка: %s : %s" % (dir_path, e.strerror))
Переданный аргумент shutil.rmtree() не может быть символической ссылкой на каталог.
Вывод
Python предоставляет несколько модулей для обработки файлов.
Мы показали вам, как использовать os.remove(), os.unlink(), pathlib.Path.unlink() чтобы удалить один файл, os.rmdir() и pathlib.Path.rmdir() чтобы удалить пустую директорию и shutil.rmtree() для рекурсивного удаления каталога и все его содержимое.
Будьте особенно осторожны при удалении файлов или каталогов, потому что, как только файл удален, он не может быть легко восстановлен.
Читать Для чего используется Python?
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.