Удаление каталогов, содержащих как пустые, так и заполненные подкатарииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Удаление каталогов, содержащих как пустые, так и заполненные подкатарии

Сообщение Anonymous »

Я принимаю каталог в качестве ввода и рекурсивно поиск через него для конкретных файлов с конкретными расширениями и каталогов (подкаталогов) с конкретными именами. Тем не менее, это не работает для пустых каталогов.

Код: Выделить всё

os.remove()
используется при встречах файлов. Все файлы хранятся в одном месте, поэтому проблема разрешений не должна существовать. < /P>
Код ниже: < /p>

Код: Выделить всё

def DeleteCheckedFiles(self):
for row in range(self.CheckboxesTable.rowCount()):
item = self.CheckboxesTable.item(row, 0)
if item.checkState() == Qt.Checked:
item_file_path = item.text()
try:
if os.path.isdir(item_file_path):
for root, dirs, files in os.walk(item_file_path, topdown=False):
for name in files:
os.remove(os.path.join(root, name))
for name in dirs:
dir_path = os.path.join(root, name)
if not os.listdir(dir_path):  # Check if the directory is empty
os.rmdir(dir_path)
else:
shutil.rmtree(dir_path)
os.rmdir(item_file_path)  # Remove the top-level directory
else:
os.remove(item_file_path)
print(f"Deleted: {item_file_path}")
except PermissionError as e:
self.OutputBox.append(f"Error deleting {item_file_path}:\n{e}. \nPlease check permissions or close any open handles.")
else:
self.OutputBox.append("Select an analysis folder and process it before starting a delete and transfer\n")
item_file_path выходит из виджета Qtdesigner QtableWidgetItem и является лишь путем файла целевых файлов и каталогов.

Подробнее здесь: https://stackoverflow.com/questions/795 ... irectories
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»