>>>
这么多内置函数,不会都讲述,只能捡着重点的来实验了。
>>> f = open("131.txt","r")
>>> f.read()
'My name is qiwsir.nMy website is qiwsir.github.ionAha,I like programn'
>>>
file.read()能够将文件中的内容全部读取过来。特别注意,这是返回一个字符串,而且是将文件中的内容全部读到内存中。试想,如果内容太多是不是就有点惨了呢?的确是,千万不要去读大个的文件。
>>> contant = f.read()
>>> type(contant)
<type 'str'>
如果文件比较大了,就不要一次都读过来,可以转而一行一行地,用readline
>>> f = open("131.txt","r")
>>> f.readline() #每次返回一行,然后指针向下移动
'My name is qiwsir.n'
>>> f.readline() #再读,再返回一行
'My website is qiwsir.github.ion'
>>> f.readline()
'Aha,I like programn'
>>> f.readline() #已经到最后一行了,再读,不报错,返回空
''
这个方法,看官是不是觉得太慢了呢?有没有痛快点的呢?有,请挥刀自宫,不用自宫,也能用readlines。注意区别,这个是复数,言外之意就是多行啦。
>>> f = open("131.txt","r")
>>> cont = f.readlines()
>>> cont
['My name is qiwsir.n', 'My website is qiwsir.github.ion', 'Aha,I like programn']
>>> type(cont)
<type 'list'>
>>> for line in cont:
... print line
...
My name is qiwsir.
My website is qiwsir.github.io
Aha,I like program
从实验中我们可以看到,readlines和read有一样之处,都是将文件内容一次性读出来,存放在内存,但是两者也有区别,read返回的是str类型,readlines返回的是list,而且一行一个元素,因此,就可以通过for逐行打印出来了。
在print line中,注意观察list里面的每个元素,最后都是一个n结尾,所以打印的结果会有空行。其原因前面已经介绍过了,忘了的朋友请回滚到上一讲
不过,还是要提醒列位,太大的文件不用都读到内存中。对付大点的文件,还是推荐这么做:
>>> f = open("131.txt","r")
>>> f
<open file '131.txt', mode 'r' at 0xb757c230>
>>> type(f)
<type 'file'>
>>> for line in f:
... print line
...
My name is qiwsir.
My website is qiwsir.github.io
Aha,I like program










