Уведомления

Группа в Telegram: @pythonsu

#1 Март 29, 2015 18:41:37

kodak38
Зарегистрирован: 2014-01-26
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Удаление папок

Нужно удалить определенные папки
есть код
# -*- 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 выдает что данные папки не существуют. Подскажите в чем ошибка

Офлайн

#2 Март 30, 2015 00:06:04

alex925
Зарегистрирован: 2015-01-08
Сообщения: 204
Репутация: +  14  -
Профиль   Отправить e-mail  

Удаление папок

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()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version