Форум сайта python.su
Traceback (most recent call last):В общем такая ошибка появляется после запуска скрипта, хотя в директории лежит 2 txt файла 222.txt и 333.txt
File “C:\files.py”, line 17, in <module>
list_files(0, ‘*.txt’, unicode('c:\dwn', ‘cp1251’))
File “C:\files.py”, line 15, in list_files
os.remove(path + “\\” + name)
WindowsError: : u'c:\\dwn\\\u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435.txt'
# -*- coding: cp1251 -*-
from os.path import join, getsize
import os
import fnmatch
def list_files(norm_size, file_ext, path):
num = 0
for root, dirs, files in os.walk(path):
for name in files:
SizeFile = getsize(join(root, name))
if SizeFile > norm_size:
if fnmatch.fnmatch(name, file_ext):
num = num + 1
print str(num) + " |" , name + " |", str(SizeFile) + " |", root + " deleted"
os.remove(path + "\\" + name)
list_files(0, '*.txt', unicode('c:\dwn', 'cp1251'))
Офлайн
Так-с косяк нашел в указании пути, забыл экранировать слэш, но теперь другая проблема, не удаляет файлы с русскими именами (Текстовый документ (1).txt) пробовал unicode(name, ‘cp1251’) не помогает
Traceback (most recent call last):
File “C:\files.py”, line 17, in <module>
list_files(0, ‘*.txt’, ‘c:\\test’)
File “C:\files.py”, line 15, in list_files
os.remove(path + “\\” + name)
WindowsError: : ‘c:\\test\\\xd2\xe5\xea\xf1\xf2\xee\xe2\xfb\xe9 \xe4\xee\xea\xf3\xec\xe5\xed\xf2 (2).txt’
Отредактировано (Сен. 23, 2011 07:36:58)
Офлайн
А у меня нет проблем:
import os,glob
nm=u"ффф.ыва"
with open(nm,'wb') as f:
f.write("11111111111")
li=glob.glob(u"*.ыва")
os.remove(li[0])
Отредактировано (Сен. 23, 2011 08:08:22)
Офлайн
В контексте моего кода какие правки нужно сделать?
Офлайн
map(os.remove,[i for i in glob.glob(os.path.join(path,"*.txt")) if Getsize(i)>l])
Отредактировано (Сен. 23, 2011 08:14:16)
Офлайн
отдаю в glob.glob параметр file_ext, который передается в функцию, теперь нет никаких ошибок, но и файлы не удаляются, посмотрел про glob в мануале, вроде все как надо
Офлайн
os.remove(path + "\\" + name)
Отредактировано (Сен. 23, 2011 08:17:42)
Офлайн
упс не застал вашу правку :) спасибо!
Офлайн
Посмотрите список который формируется, если не получится пишите часа черзез 2 мне на мыло или в личку - это процесс отладки и форму наверное не надо замусоривать.
Офлайн