Просто, вы делаете:
write_func('Output is' + str(c))
Вы должны преобразовать c
в строку, прежде чем сможете объединить ее с другой строкой. Тогда вы также можете снять:
var = str(var)
Из вашей функции.
почему я не могу написать целое число
файл? я делаю, int = str (int) раньше
запись в файл?
Вы можете записывать двоичные данные в файл, но представления чисел в байтах на самом деле не читаются человеком. -2, например, это 0xfffffffe
в 32-разрядном целом числе с дополнением 2. Еще хуже, когда число равно float
: 2,1 равно 0x40066666
.
Если вы планируете создать файл, читаемый человеком, на нем должны быть символы, читаемые человеком. В ASCII-файле «0.5» - это не число (по крайней мере, если компьютер не понимает числа), а символы '0', '.' and '5'
. И именно поэтому вам нужно конвертировать ваши числа в строки.