How to read data from txt file in python
本问题已经有最佳答案,请猛点这里访问。
我在我的文件(文件名‘电话簿’)中有一个姓名和号码,我试图使用此代码读取所有数据:
1 2 3 4 5 6 7 8 9 10 11 | def read_phonebook(): read = open("phone_book.txt", 'r') i = 0 for i in (len(read)): print(i + '\t') read.close() while True: if menu == 2: read_phonebook() |
但它给出了错误:read_phonebook文件没有len()。
如果我不使用len,它会继续打印数据,因为我在使用while循环。有人能给我解释一下如何使用这个函数来读取列表的全部数据吗?使用while循环?
请先阅读教程。
- 如果您正在读取文件,则不需要定义函数。
- 先学基础知识
- 如果您只是在阅读文件,并且是编程的初学者,那么您将采用一种复杂的方法。
- 采取一种简单的方法,这有助于您理解输入、输出和最终目标。
以下是初学者的一个快速提示和用Python读取文件的最简单方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | with open("phone_book.txt") as mytxt: for line in mytxt: print (line) Or do something with line # if you want to split the line # assuming data is tab separated newline = line.rstrip(" ").split("\t") # if you want conditional printing if len(line) > 0: print(line) |
教训:
- 当
with open ... 文件超出该范围时,它将在最后自动关闭。 - 使用
for line 而不执行.read() 会阻止您将所有数据加载到内存中。 - 修复缩进问题
在这里,每一行都可以在
1 2 3 4 5 6 7 | def read_phonebook(): read = open("phone_book.txt", 'r') i = 0 for line in read: print(line) read.close() |