码迷,mamicode.com
首页 > 编程语言 > 详细

Python从文件中读取数据

时间:2019-06-17 20:16:39      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:调用   size   文件   查找   image   因此   int   需要   strip()   

一、读取整个文件内容

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

resource.txt

 

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

 

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

reader.py

1 with open(resource.txt) as file_obj:
2     content = file_obj.read()
3     print(content)
4         

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

运行后的结果如下:

技术图片

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

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

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

二、逐行读取文件内容

1 file_name = resource.txt
2 
3 with open(file_name) as file_obj:
4     for content in file_obj:
5         print(content)

控制台打印如下:

技术图片

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

1 file_name = resource.txt
2 
3 with open(file_name) as file_obj:
4     for content in file_obj:
5         print(content.rstrip())

控制台打印如下:

技术图片

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

 

Python从文件中读取数据

标签:调用   size   文件   查找   image   因此   int   需要   strip()   

原文地址:https://www.cnblogs.com/tizer/p/11032642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!