Что я делаю неправильно, когда использую функцию open () в ipython / jupyter для получения файла .csv? - PullRequest
0 голосов
/ 02 мая 2019

Я использую Jupyter / ipython, чтобы попытаться загрузить файл .csv с помощью функции open () в Windows. Сначала я набираю команду 'pwd' для отображения текущего рабочего каталога, и появляется следующее:

'd:\\my data\\documents\\notebooks'

Я пытаюсь использовать следующий код для загрузки файла, который не работает:

data_file = open("D:\\my data\\documents\\notebooks\\MNIST\\mnist_train_10.csv", 'r')
data_list = data_file.readlines()
data_file.close()

Я также попробовал следующие варианты этого, удалив весь путь к файлу и имея только путь к локальной папке в текущем каталоге:

data_file = open("\\MNIST\\mnist_train_10.csv", 'r')
data_list = data_file.readlines()
data_file.close()

а также, я экспериментировал с удалением двойной обратной косой черты, а также пробовал с косой чертой, но безуспешно Я читал в Интернете, что Windows может быть смешной в отношении прямого и обратного слеша в python.

data_file = open("/MNIST/mnist_train_10.csv", 'r')
data_list = data_file.readlines()
data_file.close()

это ошибка, которую я получаю:

---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-25-65ea2d6f0c09> in <module>()
----> 1 data_file = open("D:\\my data\\documents\\notebooks\\MNIST\\mnist_train_10.csv", 'r')
      2 data_list = data_file.readlines()
      3 data_file.close()

FileNotFoundError: [Errno 2] No such file or directory: 'D:\\my data\\documents\\notebooks\\MNIST\\mnist_train_10.csv'

Имеет ли значение, если файл находится на диске d: вместо диска c: Что я здесь не так делаю?

Кстати, этот проект является частью книги Тарика Рашида «Создайте свою собственную нейронную сеть», но книга не разбирается в деталях этого.

Может кто-нибудь указать мне ресурс, где я могу узнать больше?

Спасибо за помощь - я только начинаю учиться, и у меня нет большого опыта работы с реальными файлами и каталогами.

1 Ответ

0 голосов
/ 03 мая 2019

Лучший способ определить путь - использовать os.path.join, который удаляет зависимость ОС от вашего кода.Для вашего случая ниже должно работать:

import os

path = os.path.join("D:", "my data", "documents", \
    "notebooks", "MNIST", "mnist_train_10.csv")

if os.path.exists(path):
    data_file = open(path, 'r')
else:
    print('{} does not exist'.format(path))
...