"WindowsError: [Ошибка 2]" при переборе файлов в C:\\ с использованием "os.walk"

Я пытаюсь создать программу, которая перебирает все файлы на моем диске C, проверяя размер файла и добавляя значение размера в список с именем filesizes_stored.

from matplotlib import pyplot as plt
import os
import collections

filesizes_stored = []

for (path, dir, files) in os.walk("c:/"):
    for filename in files:
        print unicode(os.path.join(path, filename), 'cp949')
        # print os.path.getsize(unicode(os.path.join(path, filename)))
        filesizes_stored.append(
            os.path.getsize(
                unicode(
                    os.path.expandvars(
                        os.path.expanduser(
                            os.path.join(path, filename))),'cp949'))/1024.0)

print len(filesizes_stored)

Я написал этот скрипт на python 2.7, и операционная система моего компьютера - Windows 7.

Когда я выполняю этот сценарий, процесс выполнения в течение некоторого времени идет гладко, успешно работая для большинства файлов, но затем выполнение останавливается с сообщением об ошибке

Traceback (most recent call last):
  File "C:/Users/Kim/PycharmProjects/filesize_gatherer/gather_filesize.py", line 15, in <module>
    os.path.expanduser(os.path.join(path, filename))), 'cp949'))/1024.0)
File "C:\Users\Kim\Anaconda2\lib\genericpath.py", line 57, in getsize
    return os.stat(filename).st_size
WindowsError c:/Users\Kim\AppData\Local\Temp\$$$52FE.tmp
: [Error 2] : u'c:/Users\\Kim\\AppData\\Local\\Temp\\$$52FE.tmp'

Я подозреваю, что источником проблемы является часть $$$.

0 ответов

Другие вопросы по тегам