'*' работает как модификатор для предыдущего элемента. Таким образом, «abc * def» ищет «ab», за которым следуют 0 или более «c», которые следуют «def».
То, что вы, вероятно, хотите, это «abc. * Def», который ищет «abc», за которым следует любое количество символов, указанное «def».
Проблема, скорее всего, связана с изменениями между python2 и python3
В python2
''
имеет тип str
и, следовательно, поддерживает ''.decode()
u''
типа unicode
и, таким образом, поддерживает u''.encode()
В python3 это полностью изменено
''
относится к типу unicode
и поэтому поддерживает ''.encode()
u''
относится к типу byte
и, таким образом, поддерживает u''.decode()
в вашем случае, в зависимости от типа ваших переменных, вам может потребоваться сделать что-то вроде
s = title + b' ' + author + b' ' + text
просто прибегнуть к Python 2:)