2012-01-30 83 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() 
相關問題