Найти - Пользователи
Полная версия: Удаление папок
Начало » Python для новичков » Удаление папок
1
kodak38
Нужно удалить определенные папки
есть код
# -*- coding: utf-8 -*-

import sys
import os

filename ='del.txt' # Файл с директориями, которые надо удалить
filename_end ='end.txt' # Обработанный файл
count_del=0
count_not=0
f = open(filename, ‘r’)
f_end=open(filename_end, ‘a+’)
f_end.truncate()
for d in f.readlines():
d=d.strip()
try:
k=os.listdir(d)
os.removedirs(d)
f_end.write(d+' dir del \n')
count_del=count_del+1
except WindowsError:
f_end.write(d+“ not exists \n”)
count_not=count_not+1
f_end.write('\n')
f_end.write('Count remove dir - ‘ + str(count_del)+’\n')
f_end.write('Count not delete dir - ‘ + str(count_not)+’\n')
f.close()
На диске С: Win xp скрипт проходит нормально. На диске D или любом другом выходит что папок не существует. На Win ser 2007 выдает что данные папки не существуют. Подскажите в чем ошибка
alex925
kodak38
Просто нужно полный путь к файлам прописывать и тогда все чики пуки будет. Ну и вот тебе причесанный код:
import os
count_del = 0
count_not_exist = 0
targets = open(r'C:\del.txt', 'r')
report = open(r'C:\end.txt', 'a+')
for path in targets:
    path = path.strip()
    try:
        os.removedirs(path)
        report.write('{} dir del\n'.format(path))
        count_del += 1
    except FileNotFoundError:
        report.write('{} not exists\n'.format(path))
        count_not_exist += 1
report.write(('\nCount remove dir - {}\nCount not '
              'delete dir - {}\n\n').format(count_del, count_not_exist))
report.close()
targets.close()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB