Read TXT file line by line - Python
本问题已经有最佳答案,请猛点这里访问。
如何让python一行一行地读取txt列表?我使用的是.readlines(),但似乎不起作用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import itertools import string def guess_password(real): inFile = open('test.txt', 'r') chars = inFile.readlines() attempts = 0 for password_length in range(1, 9): for guess in itertools.product(chars, repeat=password_length): attempts += 1 guess = ''.join(guess) if guess == real: return input('password is {}. found in {} guesses.'.format(guess, attempts)) print(guess, attempts) print(guess_password(input("Enter password"))) |
test.txt文件如下:
1 2 3 4 | 1:password1 2:password2 3:password3 4:password4 |
当前程序只能使用列表中的最后一个密码(密码4)如果输入任何其他密码,它将超过列表中的所有密码并返回"无"。
所以我假设我应该告诉python一次测试一行?
ps."return input()"是一个输入,这样对话框就不会自动关闭,没有什么可以输入的。
但您的问题是,python读取的行包括换行符(
' == 'password1'
要删除新行,请使用
1 2 | chars = [line.rstrip(' ') for line in inFile] |
此行而不是:
1 | chars = inFile.readlines() |
首先,尝试搜索重复的文章。
如何将文件逐行读取到列表中?
例如,我在处理txt文件时通常使用的内容:
1 2 | lines = [line.rstrip(' ') for line in open('filename')] |