Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 19, 2015 02:39:49

deniska
Зарегистрирован: 2015-04-13
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Выбор 1 элемента

В общем есть файл - в нем запись

name:name
name:name
name:name
name:name

как сделать так чтобы он брал из файла 1 элемент и передавал его другой функции, далее при каждом обращении к этому коду он выдавал по списку один элемент и передавал функции.

думал через for но она ведь по списку идет ? а как тогда сделать так чтобы и по списку шел но передавал не кучу элементов а только по одному при обращении

Офлайн

#2 Апрель 19, 2015 02:51:01

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Выбор 1 элемента

>>> lst = [1, 2, 3, 4]
>>> 
>>> it = iter(lst)
>>> next(it)
1
>>> next(it)
2
>>>



Офлайн

#3 Апрель 19, 2015 02:51:58

deniska
Зарегистрирован: 2015-04-13
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Выбор 1 элемента

py.user.next
о чудо !) спасибо.

Офлайн

#4 Апрель 19, 2015 02:58:02

deniska
Зарегистрирован: 2015-04-13
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Выбор 1 элемента

py.user.next
по сути я могу сделть так

def funkzia():
opener = open(“settings/bala.txt”)
iter(opener)
next(opener)
return opener

и он будут возвращать мне то что нужно правильно ?

Офлайн

#5 Апрель 19, 2015 03:32:09

deniska
Зарегистрирован: 2015-04-13
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Выбор 1 элемента

вот как теперь сделать чтобы обращаесь к той функции и она выдавала именно следующее число

def lol():

lst = [1, 2, 3, 4]

it = iter(lst)

a = next(it)

return a


def lol2():

print lol()
print lol()
print lol()

lol2()

Отредактировано deniska (Апрель 19, 2015 03:45:56)

Офлайн

#6 Апрель 19, 2015 04:36:42

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Выбор 1 элемента

>>> f = open('/etc/passwd')
>>> next(f)
'root:x:0:0:root:/root:/bin/bash\n'
>>> next(f)
'bin:x:1:1:bin:/bin:/sbin/nologin\n'
>>> f.close()
>>>
К файлу можно iter() не применять, потому что там как бы уже применён.

deniska
чтобы обращаесь к той функции и она выдавала именно следующее число
>>> def f(seq):
...     it = iter(seq)
...     return lambda: next(it, None)
... 
>>> g = f([1, 2, 3, 4])
>>> g()
1
>>> g()
2
>>> g()
3
>>> g()
4
>>> g()
>>> 



Отредактировано py.user.next (Апрель 19, 2015 04:46:22)

Офлайн

#7 Апрель 19, 2015 04:40:39

deniska
Зарегистрирован: 2015-04-13
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Выбор 1 элемента

Спасибо, подскажи что тут не правильно и что можно подправить пожалуйста:

def ok_auth():
   acc_base = open("settings/acc.txt", "r+")
   
   acc = next(acc_base).partition(":")
   g.clear_cookies()
   g.go("m.ok.ru")
   print "Авторизация аккаунта " + acc[0] + " " + acc[2]
   g.doc.set_input_by_id("field_login", acc[0])
   g.doc.set_input_by_id("field_password", acc[2])
   g.doc.submit("button_login")
   if g.doc.select("//div[@id='ferr']").exists():
       print "Неверный логин или пароль"
       return ok_auth()
   else:
       if g.doc.select("//div[@class='portlet-i_t-simple']").exist():
           print "Аккаунт заблокирован"
           return ok_auth()
       else:
           print "Авторизация успешна"
           return ok_auth()
   if g.doc.select("//h2[@class='ttl']").exists():
       print "Пользователь временно заблокирован"
       return ok_auth()

Отредактировано deniska (Апрель 19, 2015 04:40:57)

Офлайн

#8 Апрель 19, 2015 04:50:16

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Выбор 1 элемента

deniska
что тут не правильно
next() может породить исключение, поэтому нужно передавать ему пустую строку вторым аргументом.

deniska
и что можно подправить
Взломами не занимаюсь.



Отредактировано py.user.next (Апрель 19, 2015 04:50:38)

Офлайн

#9 Апрель 19, 2015 04:55:52

deniska
Зарегистрирован: 2015-04-13
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Выбор 1 элемента

py.user.next
Это не программа для взлома. вспомогательная программа.
ну а вообще в плане кода есть где то ошибки ? которые нужно под править

Офлайн

#10 Апрель 19, 2015 05:06:00

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Выбор 1 элемента

deniska
Это не программа для взлома. вспомогательная программа.
Ну, там как бы много акканутов не создашь, каждый надо подтверждать телефоном. Так что выглядит это, как обычный брут.

deniska
ну а вообще в плане кода есть где то ошибки ?
Алгоритм рекурсивный, что неправильно.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version