Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 11, 2011 18:40:38

doublex
От:
Зарегистрирован: 2011-09-28
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Разделение на две переменные.

Здравствуйте, я пытаюсь написать скрипт проверки аккаунтов на сайте.
В файле source.txt расположены данные в виде account;pass.
Мне необходимо разделить их на две переменные - account и pass.

Додумался только до функции split() :

source = open('source.txt', 'r').readlines()
for x in source:
name = string.split(x, ';')
print name
Результатом является вот это:
['admin', '123\n']
['blabla', '321']
В файле source.txt :
admin;123
blabla;321
Нужно избавиться от перехода на новую строку( пытался strip() функцией, но он только к стрингам, а у меня листы ) и разбить на две переменные, что-бы потом в GET запрос подставить.
Заранее спасибо :)



Отредактировано (Ноя. 11, 2011 19:13:16)

Офлайн

#2 Ноя. 11, 2011 19:04:23

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Разделение на две переменные.

Лучше еще в словарик преобразовать, чтобы можно было по имени легко находить пароль:

$ python -c "print dict([line.strip().split(';') for line in open('source.txt')])"
{'admin': '123', 'blabla': '321'}



Офлайн

#3 Ноя. 11, 2011 19:11:07

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Разделение на две переменные.

>>> "asdasd\n".strip()
'asdasd'



Офлайн

#4 Ноя. 11, 2011 22:50:09

tibs
От:
Зарегистрирован: 2011-06-30
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Разделение на две переменные.

import string

source = open('source.txt', 'r').readlines()
for x in source:
name = string.split(x.strip(), ';')
print name
['admin', '123']
['blabla', '321']



Офлайн

#5 Ноя. 12, 2011 00:09:53

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

Разделение на две переменные.

doublex
пытался strip() функцией, но он только к стрингам, а у меня листы
правильно пытался
только неправильно сделал

сделай так:
with open('source.txt', 'r') as f:
for line in f:
name = line.rstrip().split(';')
print name



Отредактировано (Ноя. 12, 2011 00:13:09)

Офлайн

#6 Ноя. 13, 2011 20:07:23

shep
От:
Зарегистрирован: 2011-07-02
Сообщения: 19
Репутация: +  2  -
Профиль   Отправить e-mail  

Разделение на две переменные.

for line in open('source.txt', 'r'):
key,s,value = line.partition(';')
if s:
print (key)
Если s пустая то в строке не был найден разделитель - игнорируем итерацию в этом случае



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version