python 写文件write(string), writelines(list) ,读文件

read()方法用于直接读取字节到字符串中,可以接参数给定最多读取的字节数,如果没有给定,则文件读取到末尾。
readline()方法读取打开文件的一行(读取下个行结束符之前的所有字节),然后整行,包括行结束符,作为字符串返回。
readlines()方法读取所有行然后把它们作为一个字符串列表返回

########
write()方法和read()、readline()方法相反,将 ####字符串####写入到文件中。
和readlines()方法一样,writelines()方法是针对####列表####的操作。它接收一个字符串列表作为参数,将他们写入到文件中,换行符不会自动的加入,因此,需要显式的加入换行符。

1.write

>>> >fobj = open('x','w')      ###确保/root/3.txt没有存在,如果存在,则会首先清空,然后写入。
>>> >msg = ['write date','to x','finish']    ###这里没有显式的给出换行符
>>> >for m in msg:
...            fobj.write(m)
...
>>> >fobj.close()
x内容:
write dateto xfinish
>>>>fobj = open('x','w')    ###覆盖之前的数据
>>>>msg = ['write date\n','to x\n','finish\n']     ###显式给出换行符
>>> >for m in msg:
...            fobj.write(m)
...
>>> >fobj.close()
x内容:
write date
to x
finish
>>> f=open('x','w')
>>> f.write('this\nis\nschool')    #write(string)
>>> f.close()
>>> 
>>> f=open('x','r')
>>> f.read()         #在这里直接f.read()读出的是不换行的一段字符。
'this\nis\nschool'
>>> 

>>> f=open('x','r')
>>> print f.read()   #使用print语句将文件somefile-11-4.txt文件的真正内容显示出来。
this
is
school
>>>

2.writelines(string)

>>>>fobj = open('x','w')
>>>>msg = ['write date\n','to x\n','finish\n']
>>>>fobj.writelines(msg)
>>>>fobj.close()
x内容:
write date
to 3.txt
finish
>>> f=open('x','r')
>>> lines=f.readlines()    #将读到的文件内所有的内容放到分配的内存lines里
>>> f.close()
>>> lines[1]="isn't a\n"    #这里必须是双引号,而不是单引号,否则报错,在内存的第二行写上字符:isn't a
>>> f=open('x','w')  #以写的方式打开文件
>>> f.writelines(lines)     #将内存lines里的内容写入到文件对象f里
>>> f.close()
>>> f=open('x','r')    #以读的方式打开文件somefile-11-4.txt
>>> print f.read()          #将读出的所有内容打印出来
this
isn't a
school
>>>

3.读文件

>>> f=file("x")
>>> for line in f.readlines():
...     print line,       #如果不加逗号可能会出现多个空白行,加一个逗号可以避免这种情况,并且这样写可以避免文件里如果有中文会乱码的情况
this
isn't a
school

>>>f=file("x")
>>>f.readline()
this
>>>f,readline()
isn't a
>>>f.readline()
school

>>> f = open("x","r")
>>> print f.read()
this
isn't a
school

posted @ 2017-08-15 16:24  xushukui  阅读(4045)  评论(0编辑  收藏  举报