|
文件字符流的输入输出对应的函数不太多,大概如下几个函数能满足大部分的需求
open()
| close()
|
| read()
| readline()
| readlines()
| write()
| writelines()
|
| seek()
| tell()
|
|
更多的函数、参数可以通过dir(file)、help(file.function)获取详细信息
首先肯定是通过open打开文件了
语法如下:
open(file, mode='r', buffering=-1, encoding=None,errors=None, newline=None, closefd=True)
mode默认是r,对于字符流,一般r,w,a,r+,w+,a+基本上够用了。查看文件打开的模式,可以利用参数mode
f=open('./test.txt','a+') #以追加和读的方式打开当前目录下的文件test.txt
f.mode#获取文件打开的模式
#文件创建后就可以读写操作了,mode=a+ 当文件不存在,先创建空文件
f.write('hello/n')
f.read()#此时读取肯定是'',这表示文件末尾,因为当写记录后,字符流的当前位置就是字符串的末尾
f.tell()#通过此函数(返回字符流的当前位置)可以看到返回的数字为6
f.seek(0)#通过此函数(设置字符流的位置)可以把当前位置设置到字符流的开始位置(0)
f.read()#这样我们就能返回刚才写入的数据(hello/n),记着一点,读取后,当前位置就已经变成了文件末尾(read()函数一直读到文件末尾)
f.write('world/n')#重新添加一行记录,因为mode='a',是在文件末尾追加,所以先前写入的hello/n依然存在
f.seek(0)#回到字符流的起始位置
f.readline()/f.readlines()#readline()返回一行记录
f.seek(0)
data_list = f.readlines()#readlines()把所有行的记录都返回,并插入到一个list中,list的一个元素就是一行记录
f.writelines(data_list)#把一个list的数据插入到文件中,如果list的各个元素不含有换行符,那么writelines写入的数据不会自动换行
---------------------------------
个人学习笔记,难免有不正确或偏颇地方,请大家指正,一起学习!
|
|
|