【发布时间】:2017-02-04 06:35:46
【问题描述】:
我正在尝试遍历子目录列表,然后打开该子目录中的文件并将文件重命名为小写。这是我的代码:
for root, subdirs, pics in os.walk(rootdir):
for pic in pics:
if pic.endswith('.jpg'):
picpath = os.path.join(pic)
#print pic
print picpath
#os.rename(pic, pic.replace(" ", "-").lower())
os.rename(picpath, picpath.replace(" ", "-").lower())
然后我得到:
Traceback(最近一次调用最后一次):文件“imageresizing-renamefiles.py”,第 19 行,在 os.rename(picpath, picpath.replace(" ", "-").lower()) OSError: [Errno 2] 没有这样的文件或目录
我的文件结构是一个根目录,代码从该文件夹中运行并在该文件夹内运行如下
folder1 与Image1jpg 和Image2jpg,folder2 与Image3jpg 和Image4jpg 等等。我想遍历每个以将文件(而不是文件夹)重命名为小写名称。
感谢任何帮助。
【问题讨论】:
-
您可能想将
topdown=False传递给os.walk -
picpath = os.path.join(pic)->picpath = os.path.join(root, pic) -
@mgilson 好主意在这里不需要,但如果需要重命名目录可能会非常有用。
-
@Jean-FrançoisFabre -- 是的,我认为你是对的。在发表评论之前,我并没有真正仔细研究这个问题......
-
@mgilson 典型的 XY 问题 :) OP 有想象力来制造恶性问题 :)