Форум сайта python.su
0
Нужно удалить определенные папки
есть код
# -*- 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 выдает что данные папки не существуют. Подскажите в чем ошибка
Офлайн
14
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()
Офлайн