-3

可能重复:
Python 如何一次读取 N 行
读取文件一次读取 8 行 Python

我正在尝试一次给定 8 行逐行读取文件,然后在我的代码中使用这些值作为变量

问题是读取它的方式或读取它的方法在我的代码中不能用作字符串变量

使用 Read 似乎有效,但我不知道如何使用 read() 函数一次读取 8 行文件。

知道我该怎么做吗?

谢谢你

编辑更多细节

我正在使用库 spynner。我可以使用任意数量的代码一次读取文件 n 行,但实际上将这些行用作微调器函数中的值是行不通的。例如

我用它来读取文件

with open("test.txt") as fin:
    try:
        while True:
            data =  islice(fin, 0, 8)                
            email = next(data)

然后在 Spynner 我这样做

browser.wk_fill('input[name="email"]', email)

表格中没有填写。我不是在构建机器人,或者垃圾邮件工具只是在乱搞。

所以感谢任何反馈/帮助

*干杯

4

1 回答 1

1

read从文件中读取多个字节。您想要readline读取直到行尾。调用八次以获得八行:

[f.readline() for _ in range(8)]

或者,您可以使用其中一种方法将文件itertools分组为八行块,然后对其进行迭代:

from itertools import izip_longest
def grouper(n, iterable, fillvalue=None):
    "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
    args = [iter(iterable)] * n
    return izip_longest(fillvalue=fillvalue, *args)

for block in grouper(8, f):
    # do stuff
    pass

这是有效的,因为迭代f与迭代其行相同。

于 2012-12-17T17:48:39.133 回答