如何从python中的txt文件中读取数据

时间:2018-06-02 17:21:01

标签: python readfile

我的文件中有姓名和号码(文件'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?

2 个答案:

答案 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()