Lesson93 Python中对文件的基本操作
一般情况下对文件的基本操作步骤是:打开文件---->操作文件---->关闭文件
对文件的常用操作有r,r+,w,w+,a,a+
查看文件操作的权限的代码:
f = open('/tmp/passwd','r+')
content = f.read()
print(content)
print(f.tell())
f.write('hello1')
print(f.tell())
print(f.read())
print(f.tell())
#判断文件对象拥有的权限
# print(f.readable())
# print(f.writable())
f.close()
实验准备:将/etc/passwd文件复制到/tmp目录下,修改/tmp/passwd文件的权限为777
ll passwd #查看/tmp/passwd文件的属性及权限
r:
-只能读,不能写
-读取文件不存在,报错
可以看到,只能读,不能写
读取/tmp/passwd1文件不存在,报错
接下来对文件进行读操作:
执行以后会直接在控制台显示passwd文件的内容
r+:
-可读,可写
-文件不存在,会报错
-默认情况下,从文件指针所在位置开始写入
可以看到,可读,可写
读取/tmp/passwd1文件不存在,会报错
验证r+方式的读操作
执行以后会直接在控制台显示passwd文件的内容
验证r+的写操作
可以看到,从0位置开始写入,写入完成后指针指向5
查看passwd文件,
可以看到,‘hello’已经成功写入文件,由于从0位置开始连续写入5个字符,因此原来的‘root:‘被覆盖了
w:
-write only
-会清空文件之前的内容
-文件不存在,会创建新文件并写入
可以看到,从0位置开始写入,写入完成后指针位置为7
查看passwd文件
发现原来的内容已经被清空,只有重新写入的内容
当文件不存在时,会创建新的文件并且写入内容
可以看到,w的写操作从0位置开始写入,写入完成后指针位置为3
查看原文件,
可以看到,新写入的内容覆盖了原文件内容
w+:
-rw
-会清空文件内容
-文件不存在,会创建新文件并写入
验证w+的写操作:
可以看到,从0位置开始写入,写入完成后指针位置为4
查看原文件,
可以看到,新写入的内容覆盖了原文件内容
a:
-write only
-不会清空文件内容
-文件不存在,会创建新文件并写入
验证a的写操作:
可以看到,从7位置开始写入,写入完成后指针位置为9,说明a操作并没有清空原文件的内容
查看原文件
可以看到,新写入的字符追加在了原来的字符后
当文件不存在时,验证a的写入操作:
可以看到,从8位置开始写入,写入完成后指针位置为12, 说明a操作并没有清空原文件的内容
a+:
-rw
-文件不存在,不报错
-不会清空文件内容
文件不存在,不报错, 生成这个文件并且写入指定内容,从0位置开始写入,写入完成后指针位置为7
查看原文件,
可以看到已经建立了这个文件并且写入了内容