手动读取python中的行

手动读取python中的行,python,file,input,Python,File,Input,我有一个文件,它的文件名是新行,然后是文件的哈希值,然后是新行。这种模式重复。例如: blah.txt 23847EABF8742 file2.txt 1982834E387FA 我有一个名为“information”的类,它有两个成员变量 class information: filename='' hashvalue='' 现在,我想读入文件并将文件名和hashvalue存储在“information”对象的新实例中,然后将information对象的实例推送到列表中

我有一个文件,它的文件名是新行,然后是文件的哈希值,然后是新行。这种模式重复。例如:

blah.txt
23847EABF8742
file2.txt
1982834E387FA
我有一个名为“information”的类,它有两个成员变量

class information:
     filename=''
     hashvalue=''
现在,我想读入文件并将文件名和hashvalue存储在“information”对象的新实例中,然后将information对象的实例推送到列表中

我遇到的问题是迭代文件以读取它。我想一行一行地读,直到文件结束。python的“for line in file”方法的问题是,它每次都会抓取一行,我不得不采取其他策略将数据放入正确的成员变量中

相反,这正是我想做的

list=[]
while(not end of file)
    x = information()
    x.filename = file.readline()
    x.hashvalue = file.readline()
    list.append(x)
也许吧

还是我最喜欢的

my_list = [filename,hashvalue for filename,hashvalue in zip(file,file)]
也许吧

还是我最喜欢的

my_list = [filename,hashvalue for filename,hashvalue in zip(file,file)]
也许吧

还是我最喜欢的

my_list = [filename,hashvalue for filename,hashvalue in zip(file,file)]
也许吧

还是我最喜欢的

my_list = [filename,hashvalue for filename,hashvalue in zip(file,file)]

您可以编写一个生成器函数:

def twolines(file):
    cur = None
    for i in file:
        if cur is None:
            cur = i
        else:
            yield (cur, i)
            cur = None
然后将文件对象传递给
twoolines()
,然后执行以下操作

for i, j in twolines(file):
    x = information()
    x.filename, x.hashvalue = i,j
    list.append(x)

您可以编写一个生成器函数:

def twolines(file):
    cur = None
    for i in file:
        if cur is None:
            cur = i
        else:
            yield (cur, i)
            cur = None
然后将文件对象传递给
twoolines()
,然后执行以下操作

for i, j in twolines(file):
    x = information()
    x.filename, x.hashvalue = i,j
    list.append(x)

您可以编写一个生成器函数:

def twolines(file):
    cur = None
    for i in file:
        if cur is None:
            cur = i
        else:
            yield (cur, i)
            cur = None
然后将文件对象传递给
twoolines()
,然后执行以下操作

for i, j in twolines(file):
    x = information()
    x.filename, x.hashvalue = i,j
    list.append(x)

您可以编写一个生成器函数:

def twolines(file):
    cur = None
    for i in file:
        if cur is None:
            cur = i
        else:
            yield (cur, i)
            cur = None
然后将文件对象传递给
twoolines()
,然后执行以下操作

for i, j in twolines(file):
    x = information()
    x.filename, x.hashvalue = i,j
    list.append(x)
这个怎么样:

list = [information(filename=x.rstrip(), hashvalue=next(it).rstrip()) for x in file]
这个怎么样:

list = [information(filename=x.rstrip(), hashvalue=next(it).rstrip()) for x in file]
这个怎么样:

list = [information(filename=x.rstrip(), hashvalue=next(it).rstrip()) for x in file]
这个怎么样:

list = [information(filename=x.rstrip(), hashvalue=next(it).rstrip()) for x in file]

另一个简单的解决方法是通过计算行数。为此引入一个变量,如
line=0
。现在,您可以尝试以下操作:

for lines in file:
    line = line + 1
    if line  % 2 == 1:
        # This will be the filename
    else:
        # This will be the hashcode

另一个简单的解决方法是通过计算行数。为此引入一个变量,如
line=0
。现在,您可以尝试以下操作:

for lines in file:
    line = line + 1
    if line  % 2 == 1:
        # This will be the filename
    else:
        # This will be the hashcode

另一个简单的解决方法是通过计算行数。为此引入一个变量,如
line=0
。现在,您可以尝试以下操作:

for lines in file:
    line = line + 1
    if line  % 2 == 1:
        # This will be the filename
    else:
        # This will be the hashcode

另一个简单的解决方法是通过计算行数。为此引入一个变量,如
line=0
。现在,您可以尝试以下操作:

for lines in file:
    line = line + 1
    if line  % 2 == 1:
        # This will be the filename
    else:
        # This will be the hashcode

文件已经是一个iter。。。您只需对文件中的x执行
。。并使用
next(file)
代替next(x)
it=iter(file.readlines())
it=file
完全相同,请尝试运行它。。。set
file=“A B C”.split()
文件已经是一个iter。。。您只需对文件中的x执行
。。并使用
next(file)
代替next(x)
it=iter(file.readlines())
it=file
完全相同,请尝试运行它。。。set
file=“A B C”.split()
文件已经是一个iter。。。您只需对文件中的x执行
。。并使用
next(file)
代替next(x)
it=iter(file.readlines())
it=file
完全相同,请尝试运行它。。。set
file=“A B C”.split()
文件已经是一个iter。。。您只需对文件中的x执行
。。并使用
next(file)
代替next(x)
it=iter(file.readlines())
it=file
完全相同,请尝试运行它。。。set
file=“A B C”.split()
我很确定他明确表示他不想那样做。。。对于i,enumerate(文件)中的第行:
:如果i%2
可能只是一个小小的改进,我很确定他明确表示他不想这样做。。。对于i,enumerate(文件)中的第行:
:如果i%2
可能只是一个小小的改进,我很确定他明确表示他不想这样做。。。对于i,enumerate(文件)中的第行:
:如果i%2
可能只是一个小小的改进,我很确定他明确表示他不想这样做。。。同样
对于i,枚举(文件)中的行:如果i%2
可能是一个小的改进