Using Python to create incrementing folder names
我正在尝试将目录中的所有文件放入它自己的文件夹中。当试图声明变量"folders"时,我枚举文件列表,并尝试将枚举列表编号附加到文件夹名称的末尾,这样文件夹看起来就像…FoLDRY1FoLDRY2FurdRy3,从目录中的文件枚举中生成尾随数字。
然而,下面的代码将它们全部列为"文件夹0",然后点击一个覆盖错误,我的增量似乎不起作用,任何我做错的方向都将非常感谢。
1 2 3 4 5 6 7 | PATH ="C:/Temp/" def main(): files = [ join(PATH, f) for f in listdir(PATH) if isfile(join(PATH, f)) ] for i, f in enumerate (files): folders = [ PATH+"FOLDER_"+str(i)+"/" for f in files ] |
现在还不清楚你的最终目标是什么,但是从你在代码中展示的和在问题中写的内容来看,我想我可以尝试一下。
为了启动python,使用了基于零的索引,因此对应于EDOCX1中第一个项目(0)的第一个值将是
0 。接下来,您的
for 循环相当于执行如下操作:
&
&所以……
&
&你会得到…
&
- 这很可能是"覆盖错误"间接形成的地方。如果你试图创建
folders 中的每个文件夹,你会得到一个OSError 告诉你你正在创建一个刚刚创建的文件夹。
如果要为目录中的每个文件创建一个文件夹,我将尝试将代码修改为以下方向:
1 2 3 4 5 6 | PATH ="C:/Temp/" def main(): files = [join(PATH, f) for f in listdir(PATH) if isfile(join(PATH, f))] folders = [join(PATH,"FOLDER_{}".format(i + 1)) for i, _ in enumerate(files)] ... |
如果要创建