Skip to main content
 首页 » 编程设计

python之无法从文本文件中打印特定行

2025年05月04日10JustinYoung

所以我目前有这段代码来读取如下所示的 accounts.txt 文件:

username1:password1 
username2:password2 
username3:password3 

然后我让这个(感谢这里的一位成员)读取 accounts.txt 文件并将其拆分为用户名和密码,以便稍后打印。当我尝试打印第 1 行时,用户名和密码与此代码分开:

with open('accounts.txt') as f: 
 
    credentials = [x.strip().split(':') for x in f.readlines()] 
 
 
 
for username,password in credentials: 
 
    print username[0] 
    print password[0] 

它打印出这个:

j 
t 
a 
2 
a 
3 

(这些是我在文本文件中的三行,正确分割,但是它打印所有行并且只打印每行的第一个字母。)

我尝试了几种不同的方法,但都没有成功。有人知道该怎么做吗?

谢谢大家的帮助。真的很感激。这是我第二天的编程,对于这么简单的问题,我深表歉意。

请您参考如下方法:

username 和password 是字符串。当您对字符串执行此操作时,您将获得字符串中的第一个字符:

username[0] 

不要那样做。只需打印用户名。

一些进一步的解释。 credentials 是字符串列表的列表。打印出来时看起来像这样:

[['username1', 'password1'], ['username2', 'password2'], ['username3', 'password3']] 

要获得一对用户名/密码,您可以这样做:print credentials[0]。结果将是这样的:

['username1', 'password1'] 

或者,如果您执行了print credentials[1],则:

['username2', 'password2'] 

您还可以执行称为“拆包”的操作,这就是您的 for 循环所做的事情。您也可以在 for 循环之外执行此操作:

username, password = credentials[0] 
print username, password 

结果是

username1 password1 

再说一次,如果你使用像 'username1' 这样的字符串并像这样使用它的单个元素:

username[0] 

你得到一个字母,u。