一. 打开文件
(1)打开文件
有文件/mnt/file,打开文件/mnt/file
f=open(’/mnt/file’)
(2)操作文件
给文件中添加内容
f.write(‘hello’)
(3)关闭文件
f.close()
f=open('/mnt/file')
print(f.writable()) ##查看是否可写
print(f.readable()) ##查看是否可读
f.write('hello')
f.close()
若打开文件时不加以说明,文件是只可读不可写,默认只可读
二.对文件操作进行设置
(1)w
可写,不可读
f=open('/mnt/file','w')
print(f.writable())
print(f.readable())
f.read()
f.close()
读时报错:
若文件不存在不会报错
f=open('/mnt/file1','w')
print(f.writable())
print(f.readable())
f.close()
(2)w+
可读,可写,写入内容时会覆盖文件原内容
f=open('/mnt/file','w+')
print(f.writable())
print(f.readable())
f.write('hello')
f.close()
若文件不存在不会报错,会创建新文件(注意:创建文件目录权限)
f=open('/mnt/file1','w+')
print(f.writable())
print(f.readable())
f.write('hello')
f.close()
(3)a
只可写,不可读
a+可读,可写,写入内容时不会覆盖原内容
三.指针
查看当前指针所在的位置
f=open('/mnt/file','w+')
print(f.tell())
f.write('python')
print(f.tell())
content = f.read()
print(content)
f.close()
四.文件的读取操作
(1)无指定条件查看
read():显示文件所有内容
readlines():读取文件内容,返回一个列表,列表的元素分别为文件行内容
readline():返回第一行内容
f = open('/mnt/file','rb+') #rb,二进制读取
print(f.read())
f = open('/mnt/file','rb+')
print(f.readline())
f = open('/mnt/file','rb+')
print(f.readlines())
(2)有条件查看
查看前四个字符
f = open('/mnt/file','rb+')
print(f.read(4))
去除结尾的字符
f = open('/mnt/file','rb+')
print([line.strip() for line in f.readlines()])
五.移动指针
seek的作用:移动文件的读取指针到固定位置。seek函数需要使用文件对象进行调用,无返回值
seek的三种模式
(1)f.seek(p,0)或f.seek§
将文件读取指针移动到文件的第p个字节处,表示绝对位置。f.seek(0)移动到文件头位置
(2)f.seek(p,1)
在当前位置的基础上,将文件读取指针一的P个字节,表示相对位置
(3)f.seek(p,2)
在文件的基础上,将文件指针移动p个字节,表示相对位置。
seek方法,移动指针
seek的第一个参数是偏移量:>0,表示向右移动,<0表示向左移动
seek的第二个参数是:
0:移动指针到文件开头
1:不移动指针
2:移动指针到末尾
f = open('/mnt/file','rb+')
f.write('xingxinglay')
print(f.read())
给文件添加内容后读取文件时看不到写入的信息,是因为写入时指针移动到写入字符的下一个位置,读取时从当前指针开始读,因此读取不到写入的内容
可通过移动指针来读取文件
f = open('/mnt/file','rb+')
print(f.tell())
f.write('xingxinglay')
print(f.tell())
f.seek(0)
print(f.read())
print(f.tell())
f.close()