Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python读取行数_Python_Class_Readlines - Fatal编程技术网

Python读取行数

Python读取行数,python,class,readlines,Python,Class,Readlines,我只是想查询将文本文件的行读回dict或class对象的最佳方式 我写入文本文件的数据非常粗糙,因此我相信可能有更好的格式化方法 基本上,数据如下所示(--是我的评论): 例如:如果我想将一个records数据读回对象类中,我如何告诉read lines脚本读取接下来的1行甚至2行,这取决于可能有多少个导出集 非常感谢 也许像这样的东西可以用,然后你就可以把所有的东西都列在一个列表中,并且可以使用它: lines = [] with open(filepath) as fp: line

我只是想查询将文本文件的行读回dict或class对象的最佳方式

我写入文本文件的数据非常粗糙,因此我相信可能有更好的格式化方法

基本上,数据如下所示(--是我的评论):

例如:如果我想将一个records数据读回对象类中,我如何告诉read lines脚本读取接下来的1行甚至2行,这取决于可能有多少个导出集


非常感谢

也许像这样的东西可以用,然后你就可以把所有的东西都列在一个列表中,并且可以使用它:

lines = []
with open(filepath) as fp: 
   line = fp.readline()
   lines.append(line)
   while line:
       line = fp.readline()
       lines.append(line)

您首先读取一行,该行告诉您有多少个导出集,然后读取更多要处理的行。基于您的注释的代码可能如下所示

with open("data.txt") as f:
    scene_name = next(f).strip()
    start_frame = int(next(f))
    end_frame = int(next(f))
    num_recs = int(next(f))
    for _ in range(num_recs):
        rec_name = next(f).strip()
        namespace = next(f).strip()
        fpath = next(f).strip()
        num_export_sets = int(next(f))
        export_sets = [next(f).strip() for _ in range(num_export_sets)]
        # ...

有什么原因不能打开文件并将所有行读取到列表中,然后按照您认为合适的方式处理它们吗?此外,一旦您使用
f=open('filename.txt')
打开文件,您就可以执行
f.readline()
一次读取一行-或者您可以在
for
循环中迭代
f
,依次读取每一行。有许多关于读取文本文件的教程和示例。我们认为你有责任在这里发布之前做出真诚的尝试。对不起,我现在不在我的机器旁&这个问题一直困扰着我。如果我遇到任何问题,我会发布一些代码。干杯。只需对fp中的行使用
是正常模式,1行对5行。。如果要将每一行放入内存,请执行
lines=fp.readlines()
这与只调用
open(filename).readlines()
或甚至只调用
list(open(filename))
有何不同。在任何情况下,我不认为这是OP的要求,虽然这也是非常模糊的,我们可能永远不会知道…我明白了。我遇到的问题是,从记录名到(可能的)导出集名的所有内容都与记录关联。让我困惑的是,我如何确保它读取正确的记录详细信息,特别是如果一条记录有两个导出集,而另一条没有。谢谢,我没有用python完成这项工作,所以我想用一个很好的例子来说明如何进行。@TeXaS_pEtE我建议您阅读官方教程。它涵盖了阅读文件的基础知识。官方教程?
with open("data.txt") as f:
    scene_name = next(f).strip()
    start_frame = int(next(f))
    end_frame = int(next(f))
    num_recs = int(next(f))
    for _ in range(num_recs):
        rec_name = next(f).strip()
        namespace = next(f).strip()
        fpath = next(f).strip()
        num_export_sets = int(next(f))
        export_sets = [next(f).strip() for _ in range(num_export_sets)]
        # ...