我正试图在python上编写手机寄存器的代码。我想从文本文件中读取不同的联系人。列表中的每个联系人都需要大约4行,我试图一次读取一行(它有效),但我不知道是否有更简单的方法,例如直接读取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)
因我的xrange (0,len(lines),4): x意味着什么? –
in python 2.x xrange是一个生成器,与范围创建列表相比,在for循环中更高效(空间方式)。功能方面,xrange()与range()等价 – SeedofWInd
你可进行使用这样的发生器功能(你并不需要阅读整个文件最初在这里),
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
- 1. 读几行从文件一次
- 2. 一次读取文本文件一行
- 3. 一次从文件中读取两行
- 4. 在UNIX中一次读取两行文本文件一行
- 5. 如何从文本文件中读取同一行两次?
- 6. Python - 一次从文件读取1000行
- 7. 从文件中读取文本行
- 8. 从文本文件中读取多行
- 9. 从文本文件中读取行
- 10. 从文本文件中读取行
- 11. 从文本文件Java中读取行?
- 12. 读一行行从文本文件
- 13. 从文本文件中读取第5行最后一行
- 14. 一次读取4行
- 15. C++从文本文件读取双行
- 16. BASH - 从文本文件读取多行
- 17. 从文本文件逐行读取C++
- 18. 从命令行读取文本文件
- 19. android - 从文本文件逐行读取
- 20. PHP从文本文件读取行
- 21. 阅读文本文件分成几个列表一行行
- 22. Python 2.7:如何从文件一次只读几行?
- 23. 从文本文件中选择一组几行文本
- 24. 从文件中读取行
- 25. 读取文本的下一行文件
- 26. 从文本文件中读取线路跳过读取行
- 27. 读一个文本文件,每次有一行n个行
- 28. 每次脚本运行时从文本文件读取行并删除它们
- 29. 从文本文件只读第一行
- 30. 从文件中读取多行文件
你可以用'每个范围内(4 ):'然后阅读这四条线 –
你能解释更多吗?,这将是很好的:) –
如果我给你看了我写的代码会有帮助吗?该代码应该能够读取和写入文件,并允许用户编辑文件。 –