我正試圖在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. Python - 一次從文件讀取1000行
- 3. 從文本文件中讀取行
- 4. 從文本文件中讀取行
- 5. 從文件中讀取文本行
- 6. 讀一行行從文本文件
- 7. 從文本文件中讀取第5行最後一行
- 8. BASH - 從文本文件讀取多行
- 9. PHP從文本文件讀取行
- 10. 從命令行讀取文本文件
- 11. android - 從文本文件逐行讀取
- 12. 從文件中讀取行
- 13. 從文本文件只讀第一行
- 14. 從文件中讀取多行文件
- 15. 從文件中讀取多行文件
- 16. 從文件中讀取下一行
- 17. 從一個文件中逐行讀取
- 18. 從python的文件中讀取一行
- 19. C從文件中讀取一行
- 20. 從文件中讀取最後一行
- 21. 如何從c/C++中的文本文件讀取一行?
- 22. 從文本文件中隨機讀取一行的函數
- 23. 從文本文件中讀取一行並返回
- 24. 從文本文件中讀取行但跳過前兩行
- 25. 如何從c中的文本文件讀取多行文件#
- 26. shell腳本從一個文件讀了幾行,並將它們
- 27. 從文本文件的某一行讀取一個數字
- 28. Java從文件讀取行樣本
- 29. 從shell腳本逐行讀取文件
- 30. 如何從頭再次開始從文本中讀取行?
你可以用'每個範圍內(4 ):'然後閱讀這四條線 –
你能解釋更多嗎?,這將是很好的:) –
如果我給你看了我寫的代碼會有幫助嗎?該代碼應該能夠讀取和寫入文件,並允許用戶編輯文件。 –