这几天一直在帮一个博士做实验,负责的是数据处理这部分的东西。因为用python做数据处理时会时常做一些文件操作,所以我学习了一下Python的文件操作。
今天刚好有空,就把东西总结一下。
一、打开文件
首先,要对文件进行操作需要打开文件,这里用到了open函数。
f = open(filename , mode) 函数的第一个参数是文件名,类型是字符串。 函数的第二个参数是模式。 函数的返回值是文件的句柄。
mode有如下一些可选值: ‘r‘ 只读
‘w‘ 只写,会覆盖之前的内容,没有文件会创建
‘r+‘ 读写
‘w+‘ 读写,会覆盖之前的内容,没有文件会创建
‘a‘ 写,但是不会覆盖之前的内容,是在之前的内容的基础上,继续写
二、读文件
打开文件后,就可以对文件进行读写了。先说读,Python读文件的函数有三个。
f.read() 返回的是一个包含文件所有内容的字符串。
f.readline() 以字符串的形式返回文件的一行内容。
f.readlines() 返回的是一个列表,文件的一行内容为列表的一组数据
举例说明一下三个函数的差别:
比如文件中存了str这个字符串
>>> str = ‘‘‘ a
...b
...c‘‘‘
>>>f.read()
>>>‘a\nb\nc‘
>>>f.readline()
>>>a
>>>f.readline()
>>>b
>>>f.readline()
>>>c
>>>f.readline()
>>>‘‘
>>>f.readlines()
>>>[‘a\n‘,‘b\n‘,‘c‘]
readlines() 常用的一种写法:
for i in f.readlines() :
pass
三、写文件
说完读操作,接下来说一说写操作。Python的写操作有两个函数。
f.write(content) 有一个参数,是要写如文件的内容,写入一行,格式是字符串。
f.writelines(content) 有一个参数,是要写入文件的内如,写入多行,格式是列表。
四、关闭文件
读写完数据后,一定要记得把文件关闭。
f.close()
五、刷新
当我们写入文件数据了,但是还没有关闭文件前,我们文件的数据是不会更新的。如果我们这时想要文件中出现我们刚写的数据,就要进行刷新。方法为:
f.flush()
六、文件指针的移动
有时我们需要移动文件的指针,来改变读写文件的开始位置,这时就要用到一个很有用的函数seek()
f.seek(offset , mode) 有两个参数,offset是偏移量,mode是模式
mode有三个值 0 ,0表示将文件指针移动到文件的开始位置。
1 , 1表示将文件指针移动到文件的当前位置。
2 , 2表示将文件指针移动到文件的末尾位置。
在Python中文件不仅是一个对象,还是一个可以迭代的对象!