如何将特定文件从一个子目录移动到另一个子目录
How to move specific files from one subdirectory to the other
这是我的目录结构:
Dataset
---> Images
----> n02085620-Chihuahua
---> n02085620_01.jpg
---> n02085620_02.jpg
.
.
. (~ 150+ files)
----> n02086646-Blenheim-Spaniel
----> n02087046-Toy-Terrier
.
.
.
(120 Folders)
---> Training
---> Chihuahua
---> Blenheim Spaniel
---> Toy Terrier
.
.
.
(120 Empty Folders)
我还有一个文件路径列表:
train_file_list = ['n02085620-Chihuahua/n02085620_5927.jpg', ... ', 'n02086646-Blenheim_spaniel/n02086646_1342.jpg', ..., 'n02087046-toy_terrier/n02087046_3490.jpg' ]
此列表有 12,000 个项目,120 个品种中的每一个都有 100 个文件路径按顺序 即,前 100 个图像是吉娃娃,接下来的 100 个是 Blenheim-Spaniel 等等上。
我还有一个字典映射 dog_id
到 dog_breed
由两个相应的列表构成:
n02097658: Chihuahua
n02092002: Japanese Spaniel
n02099849: Maltese
.
.
.
(120 key-value pairs)
我正在尝试遍历我的文件路径列表,对于以 dog_id
开头的每个文件路径,我想使用字典将该文件移动到 Dataset/Training
下的相应文件夹用于将其映射到品种。
这是我在 Jupyter Notebook 上尝试过的代码,但似乎无法正常工作。我哪里错了?请帮忙!!!
root = "/Users/krithika/Desktop/GitHub Repositories/The-Pup-Files"
os.chdir(root)
for d_id, file in zip(dog_ids, train_file_list):
if file.startswith(d_id):
shutil.copy((root + "/Dataset/Images/" + file), (root + "/Dataset/Training/" + dog_ids_breeds[d_id]))
为什么不尝试嵌套循环,如下所示:
for d_id in dog_ids:
for file in train_file_list:
if file.startswith(d_id):
shutil.copy((root + "/Dataset/Images/" + file), (root + "/Dataset/Training/" + dog_ids_breeds[d_id]))
希望这有效! :-)
这是我的目录结构:
Dataset
---> Images
----> n02085620-Chihuahua
---> n02085620_01.jpg
---> n02085620_02.jpg
.
.
. (~ 150+ files)
----> n02086646-Blenheim-Spaniel
----> n02087046-Toy-Terrier
.
.
.
(120 Folders)
---> Training
---> Chihuahua
---> Blenheim Spaniel
---> Toy Terrier
.
.
.
(120 Empty Folders)
我还有一个文件路径列表:
train_file_list = ['n02085620-Chihuahua/n02085620_5927.jpg', ... ', 'n02086646-Blenheim_spaniel/n02086646_1342.jpg', ..., 'n02087046-toy_terrier/n02087046_3490.jpg' ]
此列表有 12,000 个项目,120 个品种中的每一个都有 100 个文件路径按顺序 即,前 100 个图像是吉娃娃,接下来的 100 个是 Blenheim-Spaniel 等等上。
我还有一个字典映射 dog_id
到 dog_breed
由两个相应的列表构成:
n02097658: Chihuahua
n02092002: Japanese Spaniel
n02099849: Maltese
.
.
.
(120 key-value pairs)
我正在尝试遍历我的文件路径列表,对于以 dog_id
开头的每个文件路径,我想使用字典将该文件移动到 Dataset/Training
下的相应文件夹用于将其映射到品种。
这是我在 Jupyter Notebook 上尝试过的代码,但似乎无法正常工作。我哪里错了?请帮忙!!!
root = "/Users/krithika/Desktop/GitHub Repositories/The-Pup-Files"
os.chdir(root)
for d_id, file in zip(dog_ids, train_file_list):
if file.startswith(d_id):
shutil.copy((root + "/Dataset/Images/" + file), (root + "/Dataset/Training/" + dog_ids_breeds[d_id]))
为什么不尝试嵌套循环,如下所示:
for d_id in dog_ids:
for file in train_file_list:
if file.startswith(d_id):
shutil.copy((root + "/Dataset/Images/" + file), (root + "/Dataset/Training/" + dog_ids_breeds[d_id]))
希望这有效! :-)