Python从文件中读取数据的方法步骤

一、读取整个文件内容

在读取文件之前,我们先创建一个文本文件resource.txt作为源文件。

resource.txt

my name is joker,
I am 18 years old,
How about you?

如何读取文件全部内容,我们编写到reader.py文件中。

reader.py

 with open('resource.txt') as file_obj:
   content = file_obj.read()
   print(content)

需要注意的是需要将resource.txt文件与read.py 放在同一目录下。

运行后的结果如下:

Python从文件中读取数据的方法步骤

解释:open函数接收一个参数,此参数为将被读取内容的文件名,在调用之后返回表示这个文件的对象,Python将之存储在后面的变量(file_obj)中,关键字 with 在我们不再需要使用文件的时候将其关闭。

上面的代码中open() 函数中传入的是一个相对路径,相对路径会从当前文件(reader.py)所在文件夹下查找指定文件(resource.txt),如果文件不在当前文件夹下,可以使用绝对路径。Linux系统绝对路径如:

/home/joker/dic这样的,Windows系统的绝对路径如:C:/pyhton_workspace/dic 这样的。

二、逐行读取文件内容

file_name = 'resource.txt'
 
 with open(file_name) as file_obj:
   for content in file_obj:
     print(content)

控制台打印如下:

Python从文件中读取数据的方法步骤

解释:在上面的程序中,因为Python在读取文件之后将其存入对象file_obj 中,我们通过对该对象进行循环来遍历文件中的每一行,但是却发现,多了空白行,因为在这个文件中,有看不见的换行符,且print语句语句也会加上一个换行符,因此每行的末尾会有两个换行符。要消除多于的空白行可在print语句中调用rstrip() 方法,如下:

file_name = 'resource.txt'

 with open(file_name) as file_obj:
   for content in file_obj:
    print(content.rstrip())

控制台打印如下:

Python从文件中读取数据的方法步骤

现在,和与读取整个文件的输出相同了。