PYTHON-文件输入输出学习

来源:互联网 发布:java数组的定义方式 编辑:程序博客网 时间:2024/04/30 09:11

 

文件字符流的输入输出对应的函数不太多,大概如下几个函数能满足大部分的需求

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写入的数据不会自动换行

 

---------------------------------

个人学习笔记,难免有不正确或偏颇地方,请大家指正,一起学习!

 

原创粉丝点击