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

标签 python python-3.x mechanize mechanize-python

所以我目前有这段代码来读取如下所示的 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

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

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

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

最佳答案

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

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

关于python - 无法从文本文件中打印特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9073699/

相关文章:

python - 我在制作打印 pi 的按钮时遇到问题

python - Py2Exe 错误 : Missing run-py3. 5-win-amd64.exe

python - 在 python 中捕获 pytrends.exceptions.ResponseError 时出错

python - 为什么从不同文件的类导入方法对我不起作用?

python - 如何删除使用 Python 中的 Mechanize 生成的链接中的重复项?

ruby - 如何使用 Ruby 和 Mechanize 解析格式错误的 HTML

python - 如何修复 Django 中的数据库错误和 ghost 迁移错误?

python - Django:如何查找哪个用户在某个 'sub'/论坛上发帖最多?

python - Dlib安装错误: Could NOT find Boost

ruby - 使用线程和 ruby Mechanize 安全吗?