Python阅读行数

Python reading number of lines

我只是想查询将文本文件的行读回字典或 class 对象的最佳方法。

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

数据基本上是这样的(-- 是我的评论):

Default_scene --this is the scene name 
0 -- start frame
10 --end frame
--this could be a filepath but is blank
2 --number of records in class object can vary but 2 here
Dave01: --record name 
Dave01: -- namespace
V:/assets/test.fbx --filepath for record
1 -- number of export sets (can vary)
Test:Default_scene_Dave01 0-10 --export set
Test01: --record name
Test01:--namespace
C:/test2.fbx --filepath
0--number of export sets

例如:如果我想将记录数据读回对象 class,我将如何告诉读取行脚本读取接下来的 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)]
        # ...