我试图给文件夹中的所有 jpg 文件一个随机名称,因此它们以半随机顺序出现在我的数码相框中
这是我尝试使用的代码:
import os
import random
for filename in os.listdir("."):
hold = random.randint(1,100000)
f=str(hold)+'.jpg'
if(filename.endswith('.jpg') or (filename.endswith('.JPG'))):
os.rename(filename,f)
但是当我运行它时我得到:
WindowsError: [Error 82] The directory or file cannot be created.
我所看到的一切都让我的代码看起来应该可以工作,但我不知道为什么它不能运行。
编辑:这似乎是因为我要重命名的文件名中有空格
EDIT2:我正在将文件复制到格式化为 FAT 的 SD 卡中,而我运行它的文件夹中的项目数量最多。我通过将几个文件移动到子目录解决了这个问题。
请您参考如下方法:
可能您的重命名失败了。尝试在您的代码中添加一些调试打印,看看它到底是什么时候失败的。在重命名之前添加 print 'Renaming %s to %s' % (filename, f) 并查看重命名何时失败。
