Необходимо открыть бинарный файл для чтения, а если такого нет, то создать его и записать в него информацию. Я понимаю, что можно сделать конструкцию вида:
try: f = open('test.bin', 'rb') a = pickle.load(...) except: f = open('test.bin','wb') pickle.dump(...)
А можно ли обойтись одним open(), чтобы было вроде:
f = open('test.ttt', 'какой-то режим') try: a = pickle.load(...) except: pickle.dump(...)
'rb+' - открывает для чтения/записи, но не создает файл.
'wb+' - создает файл, если его нет, открывает для чтения/записи, но перезаписывает его (данные теряются).
'ab+' - всё что надо, но указатель стоит в конце файла, а не в начале.