我试着写一个简短的脚本,把几千个文件按字母顺序排列成文件夹,深度任意多个。这是为了允许在旧硬件(例如Amiga 500)上浏览树,而不需要任何给定文件夹中的文件数量锁定UI。在
例如,“算盘”文件将进入:
/A/AB/ABA/算盘
“三角形”在:
/T/TR/TRI/三角形
我想将深度指定为一个变量,这样我就可以尝试不同数量的级别。三个可能太少或太多。在
我正在为创建初始文件夹结构所需的递归而努力。我可以获得源文件的名称和位置,创建新的文件夹,并使用操作系统库(分别是walk、mkdir和,路径.目录名/路径.join),已经解决了如何将文件复制到各自正确的位置,以及如何在复制后删除未使用的文件夹(例如,'/C/CF/CFZ'路径不太可能以其中的任何文件,假设所有文件名都是英文单词)。但在第一步我会绕圈子。在
任何帮助都将不胜感激。在
敬上。在
下面是一个更优雅的版本:
它改编自用户3235916的答案。在
在itertools.组合(iterable,r)可能会有帮助
我只是展示前5个字母,不同的r
从combinations()输出生成目录名应该很容易
(它返回一个生成器,需要打印中的*号)
可能有一种更优雅的方法来实现这一点,但这应该是有效的:
相关问题 更多 >
编程相关推荐