LINUX.ORG.RU

SyntaxError: invalid syntax

 ,


0

1

При выполнении программы показывает ошибку


Traceback (most recent call last):
  File "      ", line 16, in <module>
    d[alpha].append(eval(line.strip('<th class=\"tableright\">&pound;</th>br')))
  File "<string>", line 1
    <th class="tableright">&pound;4.95</th>
    ^
SyntaxError: invalid syntax

Process finished with exit code 1

часть программы, где показывает ошибку

elif 'th' in line and not line.islower():
      d[alpha].append(line.strip('<th class=\"tableleft\"</th>*'))

elif 'th' in line and line.islower():
      d[alpha].append(eval(line.strip('<th class=\"tableright\">&pound;</th>br')))
 

Что не так? В интерактивном режиме все работает.

>>>from collections import defaultdict
>>>d=defaultdict(list)
>>>a='<th class=\"tableright\">4.95&pound;</th>br'
>>>d['k'].append(eval(a.strip('<th class=\"tableright\">&pound;</th>br')))
>>>d
defaultdict(<class 'list'>, {'k': [4.95]})


Последнее исправление: hibiscusM (всего исправлений: 2)

Смотри что у тебя приходит в line. Но вообще, я не понял зачем тебе тут eval.

oldstable
()

Во-первых, не надо в питоне eval’ить html. Не надо вообще ничего eval’ить. Есть конструктор float для того что ты хочешь.

Во-вторых, strip удаляет с краёв символы из списка а не строки. Есть регулярки.

В-третьих, не работает потому что у тебя в line есть \n.

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

спасибо ответившим.

можно с float и регулярками.

hibiscusM
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.