#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")