конкатенация строк - TypeError: неверный тип операнда для унарного +: 'str'

Я пытаюсь записать вывод некоторого алгоритма подгонки в текстовый файл журнала:

with open(outputPath + 'fit_logfile.txt', mode='a') as fit_logfile:
    fit_logfile.write('\n'
                        + inputPath + filename + ':\n'
                        + 'Initial parameters:\n',
                        + 'x0_init = ' + str(params_init[0]) + '\n'
                        + 'y0_init = ' + str(params_init[1]) + '\n'
                        + 'Imax_init = ' + str(params_init[2]) + '\n'
                        + 'FHWM_init = ' + str(params_init[3]) + '\n'
                        + 'Optimized parameters:\n'
                        + 'x0_opt = ' + str(params_opt[0]) + '\n'
                        + 'y0_opt = ' + str(params_opt[1]) + '\n'
                        + 'Imax_opt = ' + str(params_opt[2]) + '\n'
                        + 'FHWM_opt = ' + str(params_opt[3]) + '\n'
                        + 'Standard deviations:\n'
                        + 'sigma_x0 = ' + str(params_err[0]) + '\n'
                        + 'sigma_y0 = ' + str(params_err[1]) + '\n'
                        + 'sigma_Imax = ' + str(params_err[2]) + '\n'
                        + 'sigma_FWHM = ' + str(params_err[3]) + '\n')

Однако я получаю эту ошибку:

TypeError                                 Traceback (most recent call last)
<ipython-input-11-9d3a854ada12> in <module>()
     54                             + 'sigma_y0 = ' + str(params_opt[1]) + '\n'
     55                             + 'sigma_Imax = ' + str(params_opt[2]) + '\n'
---> 56                             + 'sigma_FWHM = ' + str(params_opt[3]) + '\n')
     57
     58

TypeError: bad operand type for unary +: 'str'

Что мне не хватает?


person frankmertens    schedule 18.08.2020    source источник
comment
Избавьтесь от запятой после 'Initial parameters:\n'   -  person alani    schedule 18.08.2020
comment
@alaniwi: О, неееет... xD Спасибо!!   -  person frankmertens    schedule 18.08.2020
comment
@CodeLikeBeaker: Спасибо, я читал эту ветку, но это просто запятая, которую я забыл удалить.   -  person frankmertens    schedule 18.08.2020
comment
@frankmertens Итак, дело в том, что он жаловался на унарный + (например, что может произойти в такой константе, как +1, а не в качестве оператора сложения), так что это был случай посмотреть, где у вас может быть +, которому не предшествовал операнд.   -  person alani    schedule 18.08.2020
comment
Да, сообщение об ошибке на самом деле поучительно (но оно не предотвращает ошибку пользователя ^^)   -  person frankmertens    schedule 18.08.2020