我在浏览文本文件中的列表时遇到问题。我错过了一些东西,但我无法弄清楚它是什么。这是我的剧本
user = open ('users.txt' , 'r')
password = open ('password.txt' , 'r')
# username = user.readline()
password_list = password.readline()
pa = ''.join(password_list)
for users in user:
for pass_list in pa:
login_data = users + pass_list
print login_data
这是我的输出
User2@mymail.com
P
User2@mymail.com
a
User2@mymail.com
s
User2@mymail.com
s
User2@mymail.com
w
User2@mymail.com
o
User2@mymail.com
r
User2@mymail.com
d
User2@mymail.com
1
User2@mymail.com
User3@mymail.com
P
User3@mymail.com
a
User3@mymail.com
s
User3@mymail.com
s
User3@mymail.com
w
User3@mymail.com
o
User3@mymail.com
r
User3@mymail.com
d
User3@mymail.com
1
User3@mymail.com
我希望看到它打印的是
User4@mymail.com
Password1
user5@mymail.com
Password1
etc .........
答案 0 :(得分:3)
password
是一个类似文件的对象。 password_list
从该文件中获取第一行。 pa
将该行与''
连接起来 - 因为该行是一个字符串,这将逐个获取所有字符,然后将它们连接在一起,而不将它们分开,从而准确地为您提供所需的内容。然后你遍历那个字符串 - 但迭代一个字符串会产生该字符串中的每个字符,这正是你得到的。
尝试:
with open('users.txt', 'r') as users, open('password.txt', 'r') as passwords:
user_data = zip(users, passwords)
for user, password in user_data:
print(user, password)
答案 1 :(得分:2)
看起来您想要同时打印出两个列表的内容。您可以使用zip()
:
user = open ('users.txt' , 'r')
password = open ('password.txt' , 'r')
# username = user.readline()
password_list = password.readline()
for users, pa in zip(user, password_list):
login_data = users + pass_list
print login_data
你的代码发生的是这个循环:
for pass_list in pa:
将迭代字符串pa
中的字符。
答案 2 :(得分:1)
迭代Python中的字符串将逐个生成字符串的字符。你可以这么做:
password_list = password.readlines()
这将返回一个行列表,您可以使用for循环轻松迭代这些行。
答案 3 :(得分:0)
你试过了吗?
for users in user:
login_data = users + pa
print login_data
如果没有,你可以发布一个users.txt和password.txt的片段吗?
答案 4 :(得分:0)
user = open ('users.txt' , 'r')
password = open ('password.txt' , 'r')
username = user.readlines()
password_list = password.readlines()
for username in user:
for pass_val in password_list:
login_data = username+'\n'+ pass_val
print login_data
答案 5 :(得分:0)
这是我的嵌套循环的解决方案做我想要的
user = open ('users.txt' , 'r')
password = open ('password.txt' , 'r')
for users in user:
for pass_list in password:
login_data = users + '\n' + pass_list
print login_data