关于readfile:如何在python中从txt文件读取数据

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()会阻止您将所有数据加载到内存中。
  • 修复缩进问题


在这里,每一行都可以在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()