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