Python os.rename, если файловая система заполнена - PullRequest
3 голосов
/ 29 апреля 2011

Я спрашиваю об этом, потому что нет никакого способа попробовать это сам (если есть одна доля, пожалуйста (:).

Я занимаюсь обработкой файлов с помощью библиотеки Python os, в частности, перемещением / переименованием файлов с помощью os.rename ().

Документы Python объясняют некоторые исключения, которые эта функция может вызывать здесь , но ничего не говорят о случае полной файловой системы. Я предполагаю, что это вызывает IOError, верно?

Приветствие.

Ответы [ 2 ]

3 голосов
/ 30 апреля 2011

На практике это редко встречается, но если вы хотите протестировать, я бы порекомендовал создать небольшую файловую систему (я не знаю, какая у вас ОС, но это может быть виртуальный раздел, диск RAM) , флэш-накопитель и т. д.) и загрузите его с мусорными файлами, чтобы посмотреть, что произойдет. Может быть, что-то вроде этого:

aBigNumber = 100000000000000000000000000000000
counter = 0
while (True):
    counter += 1
    anotherFile = open(`counter` + ".txt", "wb")
    anotherFile.write("0" * aBigNumber)
    anotherFile.close()

Когда вы получите исключение, вы сможете убедиться, что диск заполнен, и тогда вы узнаете, какую ошибку ожидать.

1 голос
/ 30 апреля 2011

Вы можете проверить это, заполнив небольшой раздел, а затем попробовать файловые операции на заполненной файловой системе. В системах * nix вы можете смонтировать tmpfs; Для Windows, возможно, используйте USB-флешку.

...