Как решить проблему FileNotFoundError: [Ошибка 2] Нет такого файла или каталога для Python 3.7 / Mac

#python #macos

#python #macos

Вопрос:

Подробные сведения:

Python 3.7.1, Mac OS High Sierra 10.13.6. Я использую IDLE и запускаю программу через терминал. Недавно я добился успеха с рукописными числами MNIST, и теперь я пытаюсь обучить генеративную состязательную сеть с моим собственным набором данных. Набор данных представляет собой папку с изображениями.

Ошибка:

 Traceback (most recent call last):
  File "Pride.py", line 29, in <module>
    listing = os.listdir(path1) 
   FileNotFoundError: [Errno 2] No such file or directory: 'Users/darren/Desktop/Pride'
  

Я просмотрел другие темы по этой проблеме, но не понимаю, что не так с моим path, поэтому я приношу извинения, если моя ошибка вызвана чем-то простым. Файл Python, который я запускаю из терминала, и моя папка dataset находятся на моем рабочем столе.

Вот мой код до этого момента:

 from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation, Flatten
from keras.layers.convolutional import Convolution2D, MaxPooling2D
from keras.optimizers import SGD,RMSprop,adam
from keras.utils import np_utils
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import os
import theano
from PIL import Image
from numpy import *
from sklearn.utils import shuffle
from sklearn.model_selection import train_test_split

# input image dimensions
img_rows, img_cols = 200, 200

# number of channels
img_channels = 1

#%%
#  data

path1 = "Users/darren/Desktop/Pride" #path of folder of images    
path2 = "Users/darren/Desktop/Prideresized"  #path of folder to save images
listing = os.listdir(path1) 
num_samples=size(listing)
print ("num_samples")

for file in listing:
    im = Image.open(path1   '\'   file)   
    img = im.resize((img_rows,img_cols))
    gray = img.convert('L')
    gray.save(path2  '\'    file, "JPEG")
  

Комментарии:

1. Ваша path1 переменная — это относительный путь. Вероятно, представление вашей программы о текущем рабочем каталоге не такое, как вы думаете. Начните с указания абсолютного пути, чтобы убедиться, что это работает. Это предложит решение проблемы. (И, ниже, вы уверены, что хотите обратную косую черту между папкой и именем файла?)

2. Спасибо BoarGules. Почему там обратная косая черта? Я просто использую чужой код. Должен ли я удалить обратную косую черту? Редактировать: О, это должна быть косая черта, верно?

3. Для меня это похоже на специфичный для Windows код. Windows использует для разделения элементов имен файлов, где OSX использует / . Теперь Windows обычно достаточно яркая, чтобы перевести любое /, которое она видит в именах файлов, в , но я недостаточно знаю об OSX, чтобы сказать, можете ли вы положиться на что-то подобное. Независимый от платформы способ сделать это — использовать os.path.sep .

Ответ №1:

в Mac os, если вы сохраняете файл вашего набора данных или любой другой файл в папке documents, то код для пути к этому файлу может быть таким

 melbourne_file_path = **'/Users/adi/Documents/Top250.csv'**
melbourne_data = pd.read_csv(melbourne_file_path) 
melbourne_data.describe()

  

Ответ №2:

Если вы используете относительные пути (путь, который не начинается с / ), вам нужно изменить их, чтобы они соответствовали расположению вашего скрипта.

В вашем случае:

 path1 = "Pride" #path of folder of images    
path2 = "Prideresized"  #path of folder to save images