我的文件中有姓名和号码(文件'phone_book'的名称),我尝试使用此代码读取所有数据:
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 Loop?
答案 0 :(得分:1)
首先阅读教程。
以下是初学者的快速提示以及在python中读取文件的最简单方法。
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("\n").split("\t")
# if you want conditional printing
if len(line) > 0:
print(line)
<强>经验:强>
with open ...
文件从该范围出来时将自动关闭。for line
而不执行.read()
会阻止您加载内存中的所有数据。答案 1 :(得分:0)
此处,每行可以在read
上进行迭代。
def read_phonebook():
read = open("phone_book.txt", 'r')
i = 0
for line in read:
print(line)
read.close()