<cite id="fzn17"></cite>
<var id="fzn17"></var><cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var>
<menuitem id="fzn17"><span id="fzn17"><thead id="fzn17"></thead></span></menuitem>
<cite id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></cite><var id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></var>
<var id="fzn17"></var>
<menuitem id="fzn17"></menuitem>
<cite id="fzn17"><video id="fzn17"></video></cite>
|
|
51CTO旗下网站
|
|
移动端

2.6.1 读文件

《自学Python:编程基础、科学计算及数据分析》第2章Python 基础,在本章中,我们将学习Python 语言的基本使用,掌握Python 的基本使用方法,为后续的学习打下基础。本节为大家介绍读文件。

作者:李金来源:机械工业出版社|2018-05-03 21:20

2.6 文件读写

读写文件是我们经常会遇到的问题。Python提供了一个方便的文件读写模式。

2.6.1 读文件

假设我们有一个文件“test.txt”,内容为:

  1. this is a test file.   
  2. hello world!   
  3. python is good!   
  4. today is a good day. 

在 Python中,我们可以使用 open()或者 file()函数来读取文件。两者都使用文件名作为参数来打开一个文件:

  1. In [1]: f = file('test.txt')   
  2. In [2]: f = open('test.txt') 

两种方式基本没有区别,Python推荐使用open()函数进行操作。

open()函数返回一个打开的文件对象:

  1. In [3]: f   
  2. Out[3]: <open file 'test.txt', mode 'r' at 0x00000000048B6270> 

其中,“r”表示只读模式。

open()函数默认以只读的方式打开文件,如果文件不存在,程序会抛出异常。只读模式(Read-Only Mode)指的是只能读取文件的内容而不能修改它。我们可以调用.read()方法来一次读取文件中的所有内容:

  1. In [4]: f.read()   
  2. Out[4]: 'this is a test file.\nhello world!\npython is good!\ntoday is   
  3. a good day.' 

当读取完一个文件时,需要使用.close()方法将这个文件关闭:

  1. In [5]: f.close() 

刚才的.close()方法已经将文件关闭,再次读取需要重新打开该文件:

  1. In [6]: f = open('test.txt') 

?#37096;?#20197;使用.readlines()方法对文件内容按行读取,该方法返回一个列表,每个元素为文件中每一行的内容:

  1. In [7]: f.readlines()   
  2. Out[7]: ['this is a test file.\n', 'hello world!\n', 'python is good!\n',  
  3.  'today is a good day.']   
  4. In [8]: f.close() 

返回的列表中,每一行行末的回车符“\n”会被保留。

for循?#20998;?#25345;文件对象的迭代,?#30475;?#35835;取一行,直到不能读取为止:

  1. In [9]: f = open('test.txt')   
  2.  
  3. In [10]: for line in f:  
  4.     ...: print line  
  5.     ...:   
  6.  
  7. this is a test file.  
  8. hello world!  
  9. python is good!  
  10. today is a good day.   
  11. In [11]: f.close() 

还可以使用.readline()函数只读取文件的一行:

  1. In [11]: f = open('test.txt')   
  2. In [12]: f.readline()   
  3. Out[12]: 'this is a test file\n' 

在这?#26234;?#20917;下,文件并没有被读取完整,我们可以继续读取后续的内容。

例如,如果我们调用.read()方法,会得到除***行之外的所有内容:

  1. In [13]: f.read()   
  2. Out[13]: 'hello world!\npython is good!\ntoday is a good day.'   
  3. In [14]: f.close()  

?#19981;?#30340;朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你?#19981;?/dt>

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场?#26377;?#25216;能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

Absolute C++中文版(原书第2版)  

本书是讲解C++语言程序设计的优秀教程。全书围绕C++语言来组织,开始章节介绍编程的普通?#24515;睿?#25509;下来详细介绍C++中的继?#23567;?#22810;态、异常处理...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客

澳洲幸运5官方
<cite id="fzn17"></cite>
<var id="fzn17"></var><cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var>
<menuitem id="fzn17"><span id="fzn17"><thead id="fzn17"></thead></span></menuitem>
<cite id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></cite><var id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></var>
<var id="fzn17"></var>
<menuitem id="fzn17"></menuitem>
<cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var><cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var>
<menuitem id="fzn17"><span id="fzn17"><thead id="fzn17"></thead></span></menuitem>
<cite id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></cite><var id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></var>
<var id="fzn17"></var>
<menuitem id="fzn17"></menuitem>
<cite id="fzn17"><video id="fzn17"></video></cite>
新时时历史开奖记录 极速快三是私人彩票吗 时时缩水工具网页版 安徽11选5走势图 加拿大28在线计划网 双色球开奖结果100历史记录 内蒙古时时11选五开奖 东北棋牌平台 重庆时时号码冷热 最新22选5开奖