社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python Read/Parse Account:Password txt逐行文件

123ang • 5 年前 • 1317 次点击  

因此,我实际上有一个accounts.txt文件,其中包含我创建的帐户,如下所示:

Richard:Milo:RichardMilo@email.info:0495612970
Adrian:Clark:ClarkAdrian283406@email.info:0490714484
Michael:Robinson:13Mich@email.info:0446088017
Julio:Lucas:JulioLucas60@email.info:0454710033

如您所见,它们的格式为FirstName:LastName:Email:Phone

简单地说,我希望我的python脚本做的是读取每一行,返回 每条线路上的名字、姓氏、电子邮件和电话 作为“email”、“first_name”、“last_name”和“phone”变量,然后 完全删除那一行 然后转到下一行,做完全相同的操作,然后删除该行,等等。我已经有了向下的循环,它只是返回每行的一部分,这给我带来了困难。

下面是我当前的python代码:

submit_count = input('\nEnter Desired Number of Entries: ')

chrome_options = webdriver.ChromeOptions()
driver = webdriver.Chrome(chrome_options=chrome_options)

def enterraffle():

    email = #NOT SURE HOW TO GET THE EMAIL FROM ACCOUNTS.TXT HERE
    first_name = #NOT SURE HOW TO GET THE FIRST NAME FROM ACCOUNTS.TXT HERE
    last_name = #NOT SURE HOW TO GET THE LAST NAME FROM ACCOUNTS.TXT HERE
    phone = #NOT SURE HOW TO GET THE PHONE FROM ACCOUNTS.TXT HERE

    driver.get(‘Login URL’)

    driver.find_element_by_xpath('//*[@id="email"]').send_keys(email)
    driver.find_element_by_xpath('//*[@id="password"]').send_keys(‘password123’)

    print('{}/{} Successful Raffle Entries ({} {}:{})'.format(i, submit_count, first_name, last_name, email))
    with open("entries_nl.txt", "a") as f:
        f.write(first_name + ":" + last_name + ":" + email + ":" + phone + ":" + "\n")
        f.close()

    time.sleep(2)

    #DELETE THAT LINE FROM ACCOUNTS.TXT HERE

    driver.delete_all_cookies()

for i in range(int(submit_count)):
        enterraffle()

感谢您的帮助!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50486
 
1317 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Devesh Kumar Singh
Reply   •   1 楼
Devesh Kumar Singh    6 年前

你可以使用 csv.reader 模块读取csv文件。

import csv

#Open the file
lines = []
with open('accounts.txt') as fp:

    #Create a csv reader on the file
    reader = csv.reader(fp, delimiter=":")
    #Iterate through each row
    for row in reader:
        lines.append(row)

print(lines)

输出将是

[
['Richard', 'Milo', 'RichardMilo@email.info', '0495612970'], 
['Adrian', 'Clark', 'ClarkAdrian283406@email.info', '0490714484'], ['Michael', 'Robinson', '13Mich@email.info', '0446088017'], 
['Julio', 'Lucas', 'JulioLucas60@email.info', '0454710033']
]

所以第一封邮件是 lines[0][2]

然后要删除文件的内容,只需在 w+ 模式

#Open the file in w+ to delete all rows
filename = "accounts.txt"
f = open(filename, "w+")
f.close()

然后可以将此输出用于 enterraffle() 功能

Wanming Zhang
Reply   •   2 楼
Wanming Zhang    6 年前
lines = []
fields = ['first_name', 'last_name', 'email', 'phone']
with open('accounts.txt') as fp:
    for line in fp:
    values = [x.strip() for x in line.split(':')]
    lines.append(dict(zip(fields, values)))