#python #string #io #byte
Вопрос:
Я работаю со старым кодом python 2.7, включая некоторые функции. Я довольно новичок в программировании и понимаю только некоторые его части. Моя текущая проблема сосредоточена вокруг следующей функции:
def create_file(self):
self._f = h5py.File(self.filename,'a',userblock_size=512)
self._f.close()
userblock_data = 'MATLAB 7.3 MAT-file, Platform: PCWIN64, Created on: %s HDF5 schema 1.00 .'%time.strftime('%a %b %d %H:%M:%S %Y')
while len(userblock_data)< 116:
userblock_data = ' '
userblock_data = chr(0)*9
userblock_data = 'IM';
with io.open(self.filename,'rb ') as f:
f.write('userblock_data')
self.reopen()
Это приводит к ошибке типа:
Ожидаемый тип «байты» (соответствует универсальному типу «AnyStr»), вместо этого получил «str»
Что я пробовал до сих пор:
with io.open(self.filename,'rb ') as f:
f.write(b'userblock_data')
Это устраняет ошибку, но приводит к проблемам в коде, где данные записываются в файл h5 для дальнейшего использования в Matlab.
Я благодарен вам за любую помощь, которую вы можете оказать
Комментарии:
1. Помимо того, что ваши данные предназначены для дальнейшего использования в matlab , имеет ли это какое-либо отношение к языку MATLAB? Если нет, то я бы, вероятно, удалил тег и использовал это 5-е место для чего-то более подходящего