Python os.rename,如果文件系统已满

时间:2011-04-29 19:58:14

标签: python file-io operating-system filesystems

我问这个因为没有办法自己尝试(如果有一个请它(:)的话。

我正在使用Python os库进行一些文件处理,特别是使用os.rename()进行文件移动/重命名。

Python文档解释了此函数可能引发的一些例外here,但没有说明完整的文件系统案例。我的猜测是它会引发IOError,这是对的吗?

干杯。

2 个答案:

答案 0 :(得分:3)

实际上这应该很少出现,但是如果你想测试我建议创建一个小文件系统(我不知道你在使用什么操作系统,但这可能是在一个虚拟分区,一个RAM磁盘上,闪存驱动器等)并加载垃圾文件,看看会发生什么。这样的事情可能是:

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

当您收到异常时,您应该能够验证磁盘是否已满,然后您就会知道会发生什么样的错误。

答案 1 :(得分:1)

您可以通过填充小分区来测试它,然后在填充的文件系统上尝试文件操作。在* nix系统上,您可以挂载tmpfs;对于Windows可能使用USB棒。