2012-01-30 10 views
5

मेरे पास उपयोगकर्ता नाम और पासवर्ड के साथ एक टेक्स्ट फ़ाइल है। पाठ फ़ाइल इस प्रकार फ़ॉर्मेट है:उपयोगकर्ता नाम प्राप्त करें: टेक्स्ट फ़ाइल से पासवर्ड, फिर लॉगिन फॉर्म में पोस्ट करें

username1:password1 
username2:password2 
username3:password3 

मैं पहली पंक्ति आकर्षित करने के लिए चाहते हैं, और फिर इस पर पोस्ट "USERNAME1" और "password1" करने के लिए इसे विभाजित:

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

उसके बाद, मैं इसे दोहराना चाहता हूं और उपयोगकर्ता नाम 2: पासवर्ड 2 पर ले जाना चाहता हूं।

यह कैसे किया जा सकता है?

+8

लगता है ... स्केची। – Amber

+0

br.form क्या है? क्या यह एक नियम है? –

+0

मैं बोरेलिद से माफ़ी मांगता हूं, मैंने बिना किसी किस्मत के बहुत सारे कोड की कोशिश की है। और br.form मशीनीकरण से है। :) – Shtoops

उत्तर

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

+0

@Shtoops: 'क्रेडेंशियल्स' एक स्ट्रिंग नहीं है, यह एक 'सूची' है जिसमें दो तत्व शामिल हैं: पहला "': '" से पहले लाइन का हिस्सा है और दूसरा इसके बाद लाइन का हिस्सा है। – Tadeck

+2

वास्तव में यह सूचियों की एक सूची है, और हम नहीं जानते कि कितने तत्व ('myfile.txt' सामग्री पर निर्भर करता है)। – wim

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() 
संबंधित मुद्दे

 संबंधित मुद्दे