Файлообменник: [Ошибка 2] Нет такого файла или каталога: ‘codedata.pkl’

#python #python-3.x #file #pickle

Вопрос:

Это школьная программа для обучения использованию файлов и каталогов на Python. Поэтому, чтобы сделать все возможное, я создаю функцию для открытия, устанавливаю ее в качестве переменной и правильно закрываю свой файл.

Но я ошибся в названии:

Файлообменник: [Ошибка 2] Нет такого файла или каталога: ‘codedata.pkl’

 def load_db(): """ load data base properly  And get ready for later use  Return: -------  cd : (list) list of tuples """  file = open('codedata.pkl', 'rb') codedata = pickle.loads(file) file.close()  return codedata  

От переводчика, это строка

 file = open('codedata.pkl', 'rb')  

В чем и заключается проблема, но я не вижу, в чем источник проблемы.

Кто-нибудь может мне помочь?

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

1. Поэтому позвольте мне задать глупый вопрос: codedata.pkl существует ли файл?

2. Что ты имеешь в виду? Я зарабатываю на том, что python открывает файл и, если он не выходит, создает его, это неправильно ? И если да, то как я могу проверить, существует ли файл, и создать его ?

3. Это неправильно. 'rb' говорит Python открыть файл для чтения (в режиме b в обычном режиме). Если нечего читать, это не сработает.

4. хорошо, я поставил просто «r», и это говорит мне о той же ошибке

Ответ №1:

Можете ли вы проверить, где находится файл?

Если ваш файл находится по адресу /Users/abc/Desktop/ , то код для открытия файла на python будет выглядеть так, как показано ниже

 file = open('/Users/abc/Desktop/codedata.pkl', 'rb') codedata = pickle.load(file) file.close()  

Вы также можете проверить, существует ли файл по нужному пути, выполнив что-то вроде этого

 import os filepath = '/Users/abc/Desktop/codedata.pkl' if os.path.exists(filepath):  file = open('/Users/abc/Desktop/codedata.pkl', 'rb')  codedata = pickle.load(file)  file.close() else:  print("File not present at desired location")