93. Python中对文件的基本操作

Lesson93 Python中对文件的基本操作

文章目录

          • 1. r操作:(如果不写对文件的操作方式,默认情况下是r)
          • 2. r+操作:
          • 3. w操作:
          • 4. w+操作:
          • 5. a操作:
          • 6. a+操作:

一般情况下对文件的基本操作步骤是:打开文件---->操作文件---->关闭文件

对文件的常用操作有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文件的属性及权限
93. Python中对文件的基本操作_第1张图片

1. r操作:(如果不写对文件的操作方式,默认情况下是r)
   r:
   -只能读,不能写
   -读取文件不存在,报错

93. Python中对文件的基本操作_第2张图片

可以看到,只能读,不能写

93. Python中对文件的基本操作_第3张图片
读取/tmp/passwd1文件不存在,报错
接下来对文件进行读操作:
93. Python中对文件的基本操作_第4张图片
执行以后会直接在控制台显示passwd文件的内容

2. r+操作:
r+:
    -可读,可写
    -文件不存在,会报错
    -默认情况下,从文件指针所在位置开始写入

93. Python中对文件的基本操作_第5张图片
可以看到,可读,可写
93. Python中对文件的基本操作_第6张图片
读取/tmp/passwd1文件不存在,会报错
验证r+方式的读操作
93. Python中对文件的基本操作_第7张图片
执行以后会直接在控制台显示passwd文件的内容
验证r+的写操作
93. Python中对文件的基本操作_第8张图片

可以看到,从0位置开始写入,写入完成后指针指向5
查看passwd文件,
在这里插入图片描述
可以看到,‘hello’已经成功写入文件,由于从0位置开始连续写入5个字符,因此原来的‘root:‘被覆盖了
93. Python中对文件的基本操作_第9张图片

3. w操作:
w:
    -write only
    -会清空文件之前的内容
    -文件不存在,会创建新文件并写入

93. Python中对文件的基本操作_第10张图片

验证w的写操作:
93. Python中对文件的基本操作_第11张图片

可以看到,从0位置开始写入,写入完成后指针位置为7

查看passwd文件
在这里插入图片描述
发现原来的内容已经被清空,只有重新写入的内容
93. Python中对文件的基本操作_第12张图片当文件不存在时,会创建新的文件并且写入内容

93. Python中对文件的基本操作_第13张图片
可以看到,w的写操作从0位置开始写入,写入完成后指针位置为3
查看原文件,
在这里插入图片描述
可以看到,新写入的内容覆盖了原文件内容
93. Python中对文件的基本操作_第14张图片

4. w+操作:
w+:
    -rw
    -会清空文件内容
    -文件不存在,会创建新文件并写入

93. Python中对文件的基本操作_第15张图片
93. Python中对文件的基本操作_第16张图片
验证w+的写操作:
93. Python中对文件的基本操作_第17张图片
可以看到,从0位置开始写入,写入完成后指针位置为4
查看原文件,
在这里插入图片描述
93. Python中对文件的基本操作_第18张图片
可以看到,新写入的内容覆盖了原文件内容

5. a操作:
a:
 -write only
    -不会清空文件内容  
    -文件不存在,会创建新文件并写入

93. Python中对文件的基本操作_第19张图片
93. Python中对文件的基本操作_第20张图片
验证a的写操作:
93. Python中对文件的基本操作_第21张图片
可以看到,从7位置开始写入,写入完成后指针位置为9,说明a操作并没有清空原文件的内容
查看原文件
在这里插入图片描述
93. Python中对文件的基本操作_第22张图片
可以看到,新写入的字符追加在了原来的字符后
当文件不存在时,验证a的写入操作:

93. Python中对文件的基本操作_第23张图片
可以看到,从8位置开始写入,写入完成后指针位置为12, 说明a操作并没有清空原文件的内容

在这里插入图片描述
查看原文件内容,可以看到,hehe添加在了原文件内容之后
93. Python中对文件的基本操作_第24张图片

6. a+操作:
a+:
    -rw
    -文件不存在,不报错
    -不会清空文件内容

93. Python中对文件的基本操作_第25张图片
当文件不存在时,验证a+的写入操作:

93. Python中对文件的基本操作_第26张图片

93. Python中对文件的基本操作_第27张图片
文件不存在,不报错, 生成这个文件并且写入指定内容,从0位置开始写入,写入完成后指针位置为7
查看原文件,
在这里插入图片描述
93. Python中对文件的基本操作_第28张图片
可以看到已经建立了这个文件并且写入了内容

你可能感兴趣的:(Python)