我写了一些代码来保存文本文件中的用户名,密码和电子邮件地址。 通过从输入文本文件中读取电子邮件并将其与其他信息一起写入输出文本文件。
但是,在输出文件中,新邮件出现在电子邮件之后。
例如:
abcd@gmail.com
,name,user,pass
更改“email
”和“name
”的顺序后再次发生这种情况:
name,abcd@gmail.com
,user,pass.
我的电子邮件文件如下:
abcd@gmail.com
abcde@gmail.com
...
如何解决此问题? 提前致谢
我的代码:
line=""
driver = webdriver.Firefox()
f=open(r'C:\Users\11\Desktop\emailes.txt','r')
while True:
password=id_generator()
username=checkname()
email=f.readline()
if username !="":
f2=open(r'C:\Users\11\Desktop\info.txt','a')
f2.write( email + "," + username + "," + username + "," +
password)
f2.write("\n")
driver.get("xxxx")
assert "xxxx" in driver.title
driver.implicitly_wait(5)
elem=driver.find_element_by_name("email")
elem.clear
elem.send_keys(email)
elem=driver.find_element_by_name("fullName")
elem.clear
elem.send_keys(username)
elem=driver.find_element_by_name("username")
elem.clear
elem.send_keys(username)
elem=driver.find_element_by_name("password")
elem.clear
elem.send_keys(password)
elem.send_keys(Keys.RETURN)
f2.close()
f.close()
答案 0 :(得分:1)
问题是readline
函数返回的字符串将包含\n
字符。
变化:
email=f.readline()
到
email=f.readline().strip()
答案 1 :(得分:0)
当您阅读电子邮件时,它会获得一个EOF(' \ n')字符,因为您正在阅读一行。你需要这样做
email=f.readline().replace('\n','')
所以你取消了EOF