[英]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.