每天写一点,总有一天我这条咸鱼能变得更咸
一.文件读写
实例如下:
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 ''' 4 读文件 5 ''' 6 def read_file(filename): 7 #以只读的方式打开文件,文件必须存在,否则抛出异常 8 f=open(filename,'r') 9 #读取文件内容 10 content = f.read() 11 print content 12 #关闭文件 13 f.close() 14 15 ''' 16 写文件 17 ''' 18 def write_file(filename): 19 # 以写的方式打开文件,文件不存在,则重新创建 20 f = open(filename,'w') 21 #写入内容 22 f.write('hello world!!! ') 23 # 关闭文件 24 f.close() 25 26 if __name__ == "__main__": 27 read_file('./a.txt') 28 write_file('./b.txt')
关于open的一些模式如下:
w 以写方式打开,文件不存在则创建,且是覆盖写操作 a 以追加模式打开 (从 EOF 开始, 必要时创建新文件) r+ 以读写模式打开 w+ 以读写模式打开 (参见 w ) a+ 以读写模式打开 (参见 a ) rb 以二进制读模式打开 wb 以二进制写模式打开 (参见 w ) ab 以二进制追加模式打开 (参见 a ) rb+ 以二进制读写模式打开 (参见 r+ ) wb+ 以二进制读写模式打开 (参见 w+ ) ab+ 以二进制读写模式打开 (参见 a+ )
关于文件操作的一些函数与方法
名称 | 作用 | 备注 |
read(n) | 按字节数读取文件(bytes) | n可不填,不填默认读取所有 |
readline() | 读取一行 | 未关闭前,再次读取,会接着读取下一行 |
readlines() | 读取所有行 | 返回结果为列表 |
write(obj) | 写入对象到文件中 | 一般写入为字符串 |
writelines(seq) | 写入元组到文件中 | 不会换行写入,只会将元组中的数据写入 |
close() | 关闭文件 | 文件关闭后在进行操作会抛出异常 |
flush() | 将缓冲区的数据写入硬盘 | 在close文件前就可以将数据写入文件 |
fileno() | 返回长整型的文件标签 | |
tell() | 返回文件当前操作的位置,以文件头部为原点 | |
seek(offest) | 将文件操作标记挪到指定offest位置 |
以a+,a的方式打开的文件,每次进行写操作的时候文件操作标记会 挪到文件末尾,seek无法生效 |
next() | 将文件操作标记挪到下一行 | |
turncate(n) | 将文件截取到指定大小 | 需要写权限 |