2012-01-30 73 views
5

我有一个文本文件用户名和密码。该文本文件的格式是这样的:获取用户名:密码从文本文件,然后张贴到登录表

username1:password1 
username2:password2 
username3:password3 

我要抢在第一线,把它分解为“用户名1”和“密码1”,然后发布到这一点:

br.form['login'] = 'username1' 
br.form['passwd'] = 'password1' 

之后,我希望它重复并转到username2:password2。

这怎么办?

+8

听起来......粗略。 – Amber 2012-01-30 02:44:45

+0

什么是br.form?这是一个字典吗? – 2012-01-30 02:47:57

+0

我对Borealid道歉,我试了很多不同的代码,但没有运气。而表格则来自机械化。 :) – Shtoops 2012-01-30 02:50:27

回答

8

假设您的用户名或密码中没有:个字符。

with open('myfile.txt') as f: 
    credentials = [x.strip().split(':') for x in f.readlines()] 

for username,password in credentials: 
    # your code here 
+0

这很好用。非常感谢!我不太明白证书字符串是如何工作的,但我会确保研究它,所以我不必再问。 ;) – Shtoops 2012-01-30 03:01:23

+0

@Shtoops:'credentials'不是一个字符串,它是一个由两个元素组成的'list':第一个是“':”之前的行的一部分,第二个是它后面的行的一部分。 – Tadeck 2012-01-30 03:06:19

+2

实际上它是一个列表清单,我们不知道有多少个元素(取决于'myfile.txt'的内容)。 – wim 2012-01-30 03:28:45

2
filename=<path to file> 
separator=":" 
fileIN = open(filename, "r") 
line = fileIN.readline() 

while line: 
    sout=line.split(separator) 
    user=sout[0] 
    passwd=sout[1] 
    ..... do your stuff...... 
    line = fileIN.readline()