Python, определяющий каталог местоположения файла - PullRequest
0 голосов
/ 18 мая 2018

Я использую Python 64-битный IDLE на компьютере с Windows 7, чтобы попытаться написать скрипт для машинного обучения opencv.Я пытаюсь выяснить, почему мой код ниже не может найти каталог, в котором находятся мои файлы изображений на моем ПК с Windows.

Есть ли лучший способ сделать это?Ничего не происходит в выводе оболочки в IDLE, и я надеялся, что функция печати сработает.

У меня есть файлы .py в папке с именем face на моем диске C :, как показано ниже. C: \ Users \ ben \ Documents \ Python \ opencv \ Faces \ images \ ben

И файлы изображений находятся в Faces \ images \ ben

import cv2
import os
import numpy as np
from PIL import Image
import pickle

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
image_dir = os.path.join(BASE_DIR, "images")

for root, dirs, files in os.walk(image_dir):
    for file in files:
        if file.endswith("png") or file.endswith("JPEG"):
            path = os.path.join(root, file)
            label = os.path.basename(root).replace(" ", "-").lower()
            print(path)

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Если ваши файлы Python находятся в

C:\Users\ben\Documents\Python\opencv\Faces  

, а изображения в

C:\Users\ben\Documents\Python\opencv\Faces\images\ben

, тогда:

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
image_dir = os.path.join(BASE_DIR, "images", "ben")

Если проблемы все еще возникают, попробуйте собратьimage_dir вручную:

image_dir = "%s\%s\%s"%(BASE_DIR, "images", "ben")
0 голосов
/ 18 мая 2018

, поскольку ваш файл кода помещен в папку изображений Faces, путь будет следующим:

loc = os.path.join(os.path.join(os.path.dirname(__file__),"images"),"ben")
...