繁体   English   中英

从文本文件中一次读取4行或几行

[英]to read from a text file 4 lines or several lines at a time

我正在尝试为python上的手机注册编写代码。 我想从文本文件中读取不同的联系人。 列表中的每个联系人大约需要4行,我尝试一次读取一行(有效),但是我想知道是否有更简单的方法,例如直接读4行或创建对象列表或列表,可能吗? 如果是怎么回事?

我不确定“约4行”是什么意思,但这是一个开始:

with open('thefile.txt') as infile:
    while True:
        parts = [infile.readline() for _ in range(4)]
        if not any(parts):
            break
        part1, part2, part3, part4 = parts

假设您尝试读取的文件是contacts.txt,并且它位于当前路径

      with open('contacts.txt','r') as f:
           lines = f.readlines()
      for i in xrange(0,len(lines),4):
           contact_source = lines[0:i]
           BuildObject(contact_source)

您可以使用类似这样的生成器功能(您无需在此处最初读取整个文件),

def multilinefile(fn, no_lns):
    f, lines = open(fn), []
    while '' not in lines:
        lines = map(lambda s: f.readline(), range(no_lns))
        if lines[0] == '':
            break
        yield ''.join(lines)

for line in multilinefile(your_file, 4):
    print line

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM