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

3

我对Python还很陌生,但我正在尝试创建一个程序,其中包括将目录内容复制到一组适合光盘的目录中(我已经设置以下变量为所需的大小容量,并设置了一个输入语句来说明适用哪个):

BluRayCap = 25018184499
DVDCap = 4617089843
CDCap = 681574400

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

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

2个回答

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扩展程序对查找此文档很有帮助。

听起来就是我需要的。我得着手实现这两个函数,但现在我有了更明确的方向。谢谢! - Mylan Connolly

0

Michael Aaron Safyan的回答很好。

此外,您可以使用shutil模块来CreateOutputDirectoryCopyFileToDirectory


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接