将文件复制到一个位置,直到驱动器已满-然后转移到新位置

时间:2019-05-15 22:22:45

标签: python-3.x

我正在寻找渲染PDF文件,然后将其移动到文件夹位置。到达那里:我希望脚本监视驱动器空间。

1)当其下降到阈值以下时-继续将文件复制到新位置。

2)当阈值下降到整个驱动器空间的某个百分比以下时,请继续将文件复制到新位置。

在完成每个副本之后,while语句不会更新驱动器空间的新值。因此,该语句将保持为True,直到驱动器用完为止。

我尝试过:

while True:
        if  space.free > 3500000:

还有:

while space.free > 3500000:

都不起作用。

import shutil

space = shutil.disk_usage(r"z:")

num = 1

while True:
    if  space.free > 3500000:
        filemame = "Test_PDF " + str(num) + ".pdf"
        shutil.copy(r"C:\Users\Matt\Desktop\Test_PDF.pdf", r"Z:" + filemame)
        num += 1
        print(space.free)

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

shutil.disk_usage返回磁盘被调用时的使用情况信息。它不会设置某种不断更新的结果。具体来说,它返回一个元组,并且元组无法更新。尝试将呼叫移入循环:

while True:
   space = shutil.disk_usage(r"z:")
   if space.free > 3500000: