Найти - Пользователи
Полная версия: Выбор 1 элемента
Начало » Python для новичков » Выбор 1 элемента
1 2
deniska
В общем есть файл - в нем запись

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

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

думал через for но она ведь по списку идет ? а как тогда сделать так чтобы и по списку шел но передавал не кучу элементов а только по одному при обращении
py.user.next
>>> lst = [1, 2, 3, 4]
>>> 
>>> it = iter(lst)
>>> next(it)
1
>>> next(it)
2
>>>
deniska
py.user.next
о чудо !) спасибо.
deniska
py.user.next
по сути я могу сделть так

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

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

def lol():

lst = [1, 2, 3, 4]

it = iter(lst)

a = next(it)

return a


def lol2():

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

lol2()
py.user.next
>>> 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()
>>> 
deniska
Спасибо, подскажи что тут не правильно и что можно подправить пожалуйста:

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()
py.user.next
deniska
что тут не правильно
next() может породить исключение, поэтому нужно передавать ему пустую строку вторым аргументом.

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

deniska
ну а вообще в плане кода есть где то ошибки ?
Алгоритм рекурсивный, что неправильно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB