str для байтового объекта для дальнейшего использования в Matlab

#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-е место для чего-то более подходящего