При попытке записать строку в файл в pythion я получаю следующую ошибку:
Traceback (most recent call last):
File "export_off.py", line 264, in execute
save_off(self.properties.path, context)
File "export_off.py", line 244, in save_off
primary.write(file)
File "export_off.py", line 181, in write
variable.write(file)
File "export_off.py", line 118, in write
file.write(self.value)
TypeError: must be bytes or buffer, not str
У меня в основном есть строковый класс, который содержит строку:
class _off_str(object):
__slots__ = 'value'
def __init__(self, val=""):
self.value=val
def get_size(self):
return SZ_SHORT
def write(self,file):
file.write(self.value)
def __str__(self):
return str(self.value)
Кроме того, я вызываю этот класс следующим образом (где переменная - это массив объектов _off_str:
def write(self, file):
for variable in self.variables:
variable.write(file)
Понятия не имею, что происходит. Я видел другие программы на Python, записывающие строки в файлы, так почему же эта не может?
Большое спасибо за вашу помощь.
Редактировать: похоже, мне нужно было указать, как я открыл файл, вот как:
file = open(filename, 'wb')
primary.write(file)
file.close()