Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python根据大小(以MB为单位)拆分文件集_Python_File Io_Split_Directory_Filesize - Fatal编程技术网

使用Python根据大小(以MB为单位)拆分文件集

使用Python根据大小(以MB为单位)拆分文件集,python,file-io,split,directory,filesize,Python,File Io,Split,Directory,Filesize,有没有办法在Python中使用一个函数来遍历一个包含文件列表的文件夹&根据每个分区/文件夹中文件的总大小(以兆字节为单位)将列表划分为“分区”(将成为文件夹)?我不知道该如何开始,或者先做什么。假设您想要的是一个起点,而不是罐中的解决方案: 用于扫描整个目录树。如果您只需要扫描一个文件夹,而不是整个树,那么您可以在不牺牲Python 3.5上的简单性(尤其是在Windows上)的情况下进行一些优化,新函数将在Windows上免费为您提供statinfo(并使其在*NIX系统上作为延迟缓存的值进

有没有办法在Python中使用一个函数来遍历一个包含文件列表的文件夹&根据每个分区/文件夹中文件的总大小(以兆字节为单位)将列表划分为“分区”(将成为文件夹)?我不知道该如何开始,或者先做什么。

假设您想要的是一个起点,而不是罐中的解决方案:

  • 用于扫描整个目录树。如果您只需要扫描一个文件夹,而不是整个树,那么您可以在不牺牲Python 3.5上的简单性(尤其是在Windows上)的情况下进行一些优化,新函数将在Windows上免费为您提供
    stat
    info(并使其在*NIX系统上作为延迟缓存的值进行访问)。在Python的早期版本中,PyPI上的第三方
    scandir
    模块提供了相同的接口
  • 如果不使用
    os.scandir
    ,您将使用
  • 使用
    collections.defaultdict(set)
    从以MB为单位的文件大小映射到以MB为单位的
    set
    文件大小(或者只需边走边处理文件,而不必存储在容器中)。或者,根据大小使用
    sorted
    键进行排序,并使用
    itertools.groupby
    (使用任意MB粒度)对生成的文件进行分组

假设您想要的是一个起点,而不是罐中的解决方案:

  • 用于扫描整个目录树。如果您只需要扫描一个文件夹,而不是整个树,那么您可以在不牺牲Python 3.5上的简单性(尤其是在Windows上)的情况下进行一些优化,新函数将在Windows上免费为您提供
    stat
    info(并使其在*NIX系统上作为延迟缓存的值进行访问)。在Python的早期版本中,PyPI上的第三方
    scandir
    模块提供了相同的接口
  • 如果不使用
    os.scandir
    ,您将使用
  • 使用
    collections.defaultdict(set)
    从以MB为单位的文件大小映射到以MB为单位的
    set
    文件大小(或者只需边走边处理文件,而不必存储在容器中)。或者,根据大小使用
    sorted
    键进行排序,并使用
    itertools.groupby
    (使用任意MB粒度)对生成的文件进行分组

假设您想要的是一个起点,而不是罐中的解决方案:

  • 用于扫描整个目录树。如果您只需要扫描一个文件夹,而不是整个树,那么您可以在不牺牲Python 3.5上的简单性(尤其是在Windows上)的情况下进行一些优化,新函数将在Windows上免费为您提供
    stat
    info(并使其在*NIX系统上作为延迟缓存的值进行访问)。在Python的早期版本中,PyPI上的第三方
    scandir
    模块提供了相同的接口
  • 如果不使用
    os.scandir
    ,您将使用
  • 使用
    collections.defaultdict(set)
    从以MB为单位的文件大小映射到以MB为单位的
    set
    文件大小(或者只需边走边处理文件,而不必存储在容器中)。或者,根据大小使用
    sorted
    键进行排序,并使用
    itertools.groupby
    (使用任意MB粒度)对生成的文件进行分组

假设您想要的是一个起点,而不是罐中的解决方案:

  • 用于扫描整个目录树。如果您只需要扫描一个文件夹,而不是整个树,那么您可以在不牺牲Python 3.5上的简单性(尤其是在Windows上)的情况下进行一些优化,新函数将在Windows上免费为您提供
    stat
    info(并使其在*NIX系统上作为延迟缓存的值进行访问)。在Python的早期版本中,PyPI上的第三方
    scandir
    模块提供了相同的接口
  • 如果不使用
    os.scandir
    ,您将使用
  • 使用
    collections.defaultdict(set)
    从以MB为单位的文件大小映射到以MB为单位的
    set
    文件大小(或者只需边走边处理文件,而不必存储在容器中)。或者,根据大小使用
    sorted
    键进行排序,并使用
    itertools.groupby
    (使用任意MB粒度)对生成的文件进行分组

是的!从导入操作系统开始。尝试一下,如果遇到问题,请告诉我们(●▽● ) !! 好极了!我会在大学里试一试!是的!从导入操作系统开始。试一试,如果遇到问题,请告诉我们(●▽● ) !! 好极了!我会在大学里试一试!是的!从导入操作系统开始。试一试,如果遇到问题,请告诉我们(●▽● ) !! 好极了!我会在大学里试一试!是的!从导入操作系统开始。试一试,如果遇到问题,请告诉我们(●▽● ) !! 好极了!我会在大学里试一试!这正是我需要的,谢谢!:D你甚至给了我关于使用哪个Python版本的信息,这非常有用。这正是我需要的,谢谢!:D你甚至给了我关于使用哪个Python版本的信息,这非常有用。这正是我需要的,谢谢!:D你甚至给了我关于使用哪个Python版本的信息,这非常有用。这正是我需要的,谢谢!:D你甚至给了我关于使用哪个Python版本的信息,这非常有用。