2013-11-17 2 views
1
for i in range(2, job_count+1): 
     job_count_array['//form[@id='SubAvailSelectForm']/font/table[2]/tbody/tr[%d]/td[1]/small' % i] = sel.get_text("//form[@id='SubAvailSelectForm']/font/table[2]/tbody/tr[%d]/td[1]/small" % i) 

Я получаю синтаксическую ошибку со стороной значения этой словарной статьи. Позвольте мне знать, что вам не нравится. Интерпретатор указывает на % i). Благодаря!Синтаксис Python for-loop

ответ

4

Посмотрите на подсветку синтаксиса. Вы не можете просто поместить простой ol '' в строку ' -delimited.

избежать их \' или изменить ваши котировки будет соответствовать второй строке:

for i in range(2, job_count+1): 
    job_count_array["//form[@id='SubAvailSelectForm']/font/table[2]/tbody/tr[%d]/td[1]/small" % i] = sel.get_text("//form[@id='SubAvailSelectForm']/font/table[2]/tbody/tr[%d]/td[1]/small" % i) 
+0

Спасибо, такое легкое исправление! Любительская ошибка. – philthy

1

Ваша проблема здесь:

job_count_array['//form[@id='SubAvailSelectForm']/font/table[2]/tbody/tr[%d]/td[1]/small' % i]... 

сделать "//form..." вместо '//form...': двойные кавычки вместо Один. Как и в вашей строке, у вас есть 'SubAvailSelectForm', который цитируется одинарными кавычками. Поэтому либо сделайте свою строку двойным кавычкой, либо выполните одиночные кавычки в строке: '\''

0

У вас есть одинарные кавычки внутри одинарных кавычек. Переводчик путается :)

+0

Спасибо, я ценю ваш вход! – philthy