使用os.rename时没有这样的文件或目录

时间:2018-11-04 12:30:11

标签: python file-handling shutil

这不是这个问题:Rename script with [Errno2] No such file or directory

我正在尝试根据train和test文件夹中相应的xml文件名将图像从文件夹图像移动到train_images和test_images文件夹。 但是始终出现此错误: Traceback (most recent call last): File "Move2.py", line 13, in <module> os.rename(src2,dest2) FileNotFoundError: [Errno 2] No such file or directory: '/home/mohit/darkflow/yes/images/DSCN8434.jpg' -> '/home/mohit/darkflow/yes/train_images/DSCN8434.jpg'

我的脚本是:

import os

train=os.listdir("/home/mohit/darkflow/yes/train")
test=os.listdir("/home/mohit/darkflow/yes/test")

path2="/home/mohit/darkflow/yes/images/"
moveto3="/home/mohit/darkflow/yes/train_images/"
moveto4="/home/mohit/darkflow/yes/test_images/"

for f_name in train:
    f_name=f_name.replace(".xml",".jpg")
    src2=path2+f_name
    dest2=moveto3+f_name
    os.rename(src2,dest2)

for f_name2 in test:
    f_name2=f_name2.replace(".xml",".jpg")
    src2=path2+f_name2
    dest=moveto4+f_name2
    os.rename(src2,dest2)
  • 即使使用shutil.move,也会发生类似的事情
  • 我可以在图像文件夹中看到生成错误的特定图像。
  • 奇怪的是,当我在images目录中时,eog imagename无法打开它

预先感谢!

1 个答案:

答案 0 :(得分:0)

我发现了错误。

  • 实际上,某些图像的扩展名为.jpg,而其他图像的扩展名为.JPG。

解决方案:

  • 我将不太出现的.jpg手动更改为.JPG,并在代码中也将.jpg更改为.JPG。

代码确实有效

谢谢!