在python中,如何将文件复制到目录中,并在该目录达到一定大小后停止

时间:2011-04-14 00:20:57

标签: python copy directory

我仍然是Python的新手,但我正在尝试创建一个程序,除其他外,将程序的内容复制到一组适合光盘的目录(我已经设置了以下变量是我想要的大小容量,并设置一个输入语句来说明哪一个适用):

BluRayCap = 25018184499
DVDCap = 4617089843
CDCap = 681574400

所以基本上我想将开始目录的内容复制到另一个目录中,并根据需要创建另一个目录,以使内容适合光盘。

我在这里遇到了障碍。谢谢!

2 个答案:

答案 0 :(得分:3)

您可以使用os.path.getsize来获取文件的大小,并且可以使用os.walk遍历目录树,如下所示(我将让您实现CreateOutputDirectory和CopyFileToDirectory) :

current_destination = CreateOutputDirectory()
for root, folders, files in os.walk(input_directory):
   for file in files:
       file_size = os.path.getsize(file)
       if os.path.getsize(current_destination) + file_size > limit:
          current_destination = CreateOutputDirectory()
       CopyFileToDirectory(root, file, current_destination)

此外,您可能会发现Chrome的Python Search扩展名有助于查找此文档。

答案 1 :(得分:0)

Michael Aaron Safyan的回答很好。

此外,您可以将 shutil 模块用于CreateOutputDirectoryCopyFileToDirectory