и сделала скриншот в нужный момент показа изображения в баннере..Интересная задача. Этот нужный момент - чем он обусловлен?
моментально делается скриншот всего экрана.Боюсь, это ("моментально") не про селениум.
t = driver.find_element_by_xpath(".//*[@id='list']/li["+str(i)+"]")
el_text = t.text
driver.get(el_text)
Есть устройство, получающий пакет данных и выводящее переданный в пакете текст.На мой взгляд, проще всего сначала запаковать все ваши строки и числа в байты при помощи модуля struct (struct.pack), а затем уже xor-ить нужные байты.
...
Контрольная сумма вычисляется как xor всех байтов с 4 по 7.
Но там, где это должно работать (сайтик с задачками), оно не работает. Как мне переписать этот код, чтобы избавиться от этой ошибки непонятного генезиса?
self.victor = victor
, вы, вроде, нигде не используете self.victor. а то мы же ничего в программировании не понимаем!И при этом хотите оценить квалификацию другого человека.
Какие инженерные задачи вы решали с помощью питона?Генерация файлов конфигурации для коммутаторов на jinja. Простые веб-интерфейсы (flask, bottle). Парсинг логов и экспортированных данных (lxml). Учет ресурсов (база на sqlite + веб-интерфейс + выгрузка отчетов).
Почему не баш/пауэршелл?Проще было написать один раз на python и запускать где необходимо.
В чем заключается работа человека в web и с сетями?
p.s. это нужно для отправки байтовых строк в сокетах python<2.7struct.
При создании сайтов на Python обязательно использовать фреймворки?Если не стоит задачи промышленной эксплуатации, то, думаю, нет.
Как обойтись чистым Python?Пишете на python web-сервер с wsgi-интерфейсом. Затем пишете непосредственно web-приложение (с роутингом, шаблонизатором, ORM и прочим по надобности). В процессе узнаете много нового и получаете понимание работы веб-приложений и веб-серверов вообще. До кучи можете еще клиентский интерфейс (фронтэнд) на brython написать.
>>> def f1(l):
l=l+[0]
>>> def f2(l):
l+=[0]
>>> def f3(l):
l.append(0)
>>> mylist=[1,2,3]
>>> f1(mylist)
>>> mylist
[1, 2, 3]
>>> f2(mylist)
>>> mylist
[1, 2, 3, 0]
>>> f3(mylist)
>>> mylist
[1, 2, 3, 0, 0]
l=l+[0]
создает локальную переменную l, которая ссылается на некий новый список, состоящий из элементов списка, переданного в функцию, с добавленным элементом (0). То есть l слева и l справа - это разные переменные.>>> def f1(l):
print "Value at function start: {}, id: {}".format(l,id(l))
l=l+[0]
print "Value at function end: {}, id: {}".format(l,id(l))
>>> mylist=[1,2,3]
>>> f1(mylist)
Value at function start: [1, 2, 3], id: 44215272
Value at function end: [1, 2, 3, 0], id: 5440176
>>> mylist
[1, 2, 3]
Квадратные скобки, на мой взгляд, необязательны.primary_list = tuple([line.strip() for line in open('file1.txt', 'r')]) secondary_list = tuple([line.strip() for line in open('file2.txt', 'r')])
Не уверен, что эта ветвь выполнится хотя бы раз.for item in primary_list: if item is None: continue
primary_set = frozenset(line.strip() for line in open('file1.txt', 'r'))
secondary_set = frozenset(line.strip() for line in open('file2.txt', 'r'))
with open('test.txt', 'w') as f:
for item in primary_set&secondary_set:
if item:
f.write(item+'\n')
print 'Complete'
Что можете посоветовать?
sum(range(n+1))
- константа (в дальнейшем, C) для заданного n, можно вынести ее вычисление за цикл.def get_ab(n):
C=sum(xrange(1,n+1))
return [(a, (C-a)/(a+1)) for a in xrange(1,n+1) if (C-a)%(a+1)==0 and (C-a)/(a+1)<n]
In [10]: % timeit removNb(10)
1000 loops, best of 3: 185 us per loop
In [11]: %timeit get_ab(10)
100000 loops, best of 3: 6.74 us per loop