FileNotFoundError:[错误2]没有这样的文件或目录:'dataset_dog_breeds / train / airedale / airedale-87.jpg

我有一个名为labeled_data2的文件夹。此文件夹包含狗品种的图像。

每个图像都以狗的品种为前缀。

我正在尝试将所有图像从labeled_data2(按品种排序)移动到dataset_dog_breeds/traindataset_dog_breeds/test。这是一个最后的样子的例子:

          `dataset_dog_breeds/train/boxer/boxer.jpg`

现在,我不知道是否能解决错误(请看标题),我将把所有图像从labeled_data2移到它们各自的路径。但这是一个开始。

代码如下:

# organize dataset into a useful structure
from os import makedirs
from os import listdir
from shutil import copyfile
from random import seed
from random import random
# create directories
dataset_home = 'dataset_dog_breeds/'
subdirs = ['train/','test/']
for subdir in subdirs:
        # create label subdirectories
        labeldirs = ['affenpinscher/','afghan_hound/','african_hunting_dog/'
                     'airedale/','american_staffordshire_terrier/','appenzeller/','australian_terrier/','basenji/','basset/','beagle/','bedlington_terrier/','bernese_mountain_dog/','black-and-tan_coonhound/','blenheim_spaniel/','bloodhound/','bluetick/','border_collie/','border_terrier/','borzoi/','boston_bull/','bouvier_des_flandres/','boxer/','brabancon_griffon/','briard/','brittany_spaniel/','bull_mastiff/','cairn/','cardigan/','chesapeake_bay_retriever/','chihuahua/','chow/','clumber/','cocker_spaniel/','collie/','curly-coated_retriever/','dandie_dinmont/','dhole/','dingo/','doberman/','english_foxhound/','english_setter/','english_springer/','entlebucher/','eskimo_dog/']
        for labldir in labeldirs:
                newdir = dataset_home + subdir + labldir
                makedirs(newdir,exist_ok=True)
# seed random number generator
seed(1)
# define ratio of pictures to use for validation
val_ratio = 0.25
# copy training dataset images into subdirectories
src_directory = 'labeled_data2/'
for file in listdir(src_directory):
        src = src_directory + '/' + file
        dst_dir = 'train/'
        if random() < val_ratio:
                dst_dir = 'test/'
        if file.startswith('affenpinscher'):
                dst = dataset_home + dst_dir + 'affenpinscher/'  + file
                copyfile(src,dst)
        if file.startswith('afghan_hound'):
                dst = dataset_home + dst_dir + 'afghan_hound/'  + file
                copyfile(src,dst)
        if file.startswith('african_hunting_dog'):
                dst = dataset_home + dst_dir + 'african_hunting_dog/'  + file
                copyfile(src,dst)
        if file.startswith('airedale'):
                dst = dataset_home + dst_dir + 'airedale/'  + file
                copyfile(src,dst)
        if file.startswith('american_staffordshire_terrier'):
                dst = dataset_home + dst_dir + 'american_staffordshire_terrier/'  + file
                copyfile(src,dst)
        if file.startswith('appenzeller'):
                dst = dataset_home + dst_dir + 'appenzeller/'  + file
                copyfile(src,dst)
        if file.startswith('australian_terrier'):
                dst = dataset_home + dst_dir + 'australian_terrier/'  + file
                copyfile(src,dst)
        if file.startswith('basenji'):
                dst = dataset_home + dst_dir + 'basenji/'  + file
                copyfile(src,dst)
        if file.startswith('basset'):
                dst = dataset_home + dst_dir + 'basset/'  + file
                copyfile(src,dst)
        if file.startswith('beagle'):
                dst = dataset_home + dst_dir + 'beagle/'  + file
                copyfile(src,dst)
        if file.startswith('bedlington_terrier'):
                dst = dataset_home + dst_dir + 'bedlington_terrier/'  + file
                copyfile(src,dst)
        if file.startswith('bernese_mountain_dog'):
                dst = dataset_home + dst_dir + 'bernese_mountain_dog/'  + file
                copyfile(src,dst)
        if file.startswith('black-and-tan_coonhound'):
                dst = dataset_home + dst_dir + 'black-and-tan_coonhound/'  + file
                copyfile(src,dst)
        if file.startswith('blenheim_spaniel'):
                dst = dataset_home + dst_dir + 'blenheim_spaniel/'  + file
                copyfile(src,dst)
        if file.startswith('bloodhound'):
                dst = dataset_home + dst_dir + 'bloodhound/'  + file
                copyfile(src,dst)
        if file.startswith('bluetick'):
                dst = dataset_home + dst_dir + 'bluetick/'  + file
                copyfile(src,dst)
        if file.startswith('border_collie'):
                dst = dataset_home + dst_dir + 'border_collie/'  + file
                copyfile(src,dst)
        if file.startswith('border_terrier'):
                dst = dataset_home + dst_dir + 'border_terrier/'  + file
                copyfile(src,dst)
        if file.startswith('borzoi'):
                dst = dataset_home + dst_dir + 'borzoi/'  + file
                copyfile(src,dst)
        if file.startswith('bouvier_des_flandres'):
                dst = dataset_home + dst_dir + 'bouvier_des_flandres/'  + file
                copyfile(src,dst)
        if file.startswith('boxer'):
                dst = dataset_home + dst_dir + 'boxer/'  + file
                copyfile(src,dst)
        if file.startswith('brabancon_griffon'):
                dst = dataset_home + dst_dir + 'brabancon_griffon/'  + file
                copyfile(src,dst)
        if file.startswith('briard'):
                dst = dataset_home + dst_dir + 'briard/'  + file
                copyfile(src,dst)
        if file.startswith('brittany_spaniel'):
                dst = dataset_home + dst_dir + 'brittany_spaniel/'  + file
                copyfile(src,dst)
        if file.startswith('bull_mastiff'):
                dst = dataset_home + dst_dir + 'bull_mastiff/'  + file
                copyfile(src,dst)
        if file.startswith('cairn'):
                dst = dataset_home + dst_dir + 'cairn/'  + file
                copyfile(src,dst)
        if file.startswith('cardigan'):
                dst = dataset_home + dst_dir + 'cardigan/'  + file
                copyfile(src,dst)
        if file.startswith('chesapeake_bay_retriever'):
                dst = dataset_home + dst_dir + 'chesapeake_bay_retriever/'  + file
                copyfile(src,dst)
        if file.startswith('chihuahua'):
                dst = dataset_home + dst_dir + 'chihuahua/'  + file
                copyfile(src,dst)
        if file.startswith('chow'):
                dst = dataset_home + dst_dir + 'chow/'  + file
                copyfile(src,dst)
        if file.startswith('clumber'):
                dst = dataset_home + dst_dir + 'clumber/'  + file
                copyfile(src,dst)
        if file.startswith('cocker_spaniel'):
                dst = dataset_home + dst_dir + 'cocker_spaniel/'  + file
                copyfile(src,dst)
        if file.startswith('collie'):
                dst = dataset_home + dst_dir + 'collie/'  + file
                copyfile(src,dst)
        if file.startswith('curly-coated_retriever'):
                dst = dataset_home + dst_dir + 'curly-coated_retriever/'  + file
                copyfile(src,dst)
        if file.startswith('dandie_dinmont'):
                dst = dataset_home + dst_dir + 'dandie_dinmont/'  + file
                copyfile(src,dst)
        if file.startswith('dhole'):
                dst = dataset_home + dst_dir + 'dhole/'  + file
                copyfile(src,dst)
        if file.startswith('dingo'):
                dst = dataset_home + dst_dir + 'dingo/'  + file
                copyfile(src,dst)
        if file.startswith('doberman'):
                dst = dataset_home + dst_dir + 'doberman/'  + file
                copyfile(src,dst)
        if file.startswith('english_foxhound'):
                dst = dataset_home + dst_dir + 'english_foxhound/'  + file
                copyfile(src,dst)
        if file.startswith('english_setter'):
                dst = dataset_home + dst_dir + 'english_setter/'  + file
                copyfile(src,dst)
        if file.startswith('english_springer'):
                dst = dataset_home + dst_dir + 'english_springer/'  + file
                copyfile(src,dst)
        if file.startswith('entlebucher'):
                dst = dataset_home + dst_dir + 'entlebucher/'  + file
                copyfile(src,dst)
        elif file.startswith('eskimo_dog'):
            dst = dataset_home + dst_dir + 'eskimo_dog/'  + file
            copyfile(src,dst)
blueshower 回答:FileNotFoundError:[错误2]没有这样的文件或目录:'dataset_dog_breeds / train / airedale / airedale-87.jpg

我得到此错误的原因是由于一个小错误。在labeldirs列表中,我忘了在'african_hunting_dog/'之后加上逗号。

本文链接:https://www.f2er.com/3109639.html

大家都在问