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文件的属性及权限

python 修改文件夹权限 python 修改用户对文件权限_基本操作

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

python 修改文件夹权限 python 修改用户对文件权限_基本操作_02

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

python 修改文件夹权限 python 修改用户对文件权限_读取文件_03


读取/tmp/passwd1文件不存在,报错

接下来对文件进行读操作:

python 修改文件夹权限 python 修改用户对文件权限_文件复制_04


执行以后会直接在控制台显示passwd文件的内容

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

python 修改文件夹权限 python 修改用户对文件权限_文件复制_05


可以看到,可读,可写

python 修改文件夹权限 python 修改用户对文件权限_基本操作_06


读取/tmp/passwd1文件不存在,会报错

验证r+方式的读操作

python 修改文件夹权限 python 修改用户对文件权限_基本操作_07


执行以后会直接在控制台显示passwd文件的内容

验证r+的写操作

python 修改文件夹权限 python 修改用户对文件权限_python 修改文件夹权限_08

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

查看passwd文件,

python 修改文件夹权限 python 修改用户对文件权限_python 修改文件夹权限_09


可以看到,‘hello’已经成功写入文件,由于从0位置开始连续写入5个字符,因此原来的‘root:‘被覆盖了

python 修改文件夹权限 python 修改用户对文件权限_python 修改文件夹权限_10

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

python 修改文件夹权限 python 修改用户对文件权限_文件复制_11

验证w的写操作:

python 修改文件夹权限 python 修改用户对文件权限_读取文件_12

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

查看passwd文件

python 修改文件夹权限 python 修改用户对文件权限_python 修改文件夹权限_13


发现原来的内容已经被清空,只有重新写入的内容

python 修改文件夹权限 python 修改用户对文件权限_python 修改文件夹权限_14

当文件不存在时,会创建新的文件并且写入内容

python 修改文件夹权限 python 修改用户对文件权限_基本操作_15


可以看到,w的写操作从0位置开始写入,写入完成后指针位置为3

查看原文件,

python 修改文件夹权限 python 修改用户对文件权限_python 修改文件夹权限_16


可以看到,新写入的内容覆盖了原文件内容

python 修改文件夹权限 python 修改用户对文件权限_基本操作_17

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

python 修改文件夹权限 python 修改用户对文件权限_文件复制_18


python 修改文件夹权限 python 修改用户对文件权限_读取文件_19


验证w+的写操作:

python 修改文件夹权限 python 修改用户对文件权限_文件复制_20


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

查看原文件,

python 修改文件夹权限 python 修改用户对文件权限_python 修改文件夹权限_21


python 修改文件夹权限 python 修改用户对文件权限_基本操作_22


可以看到,新写入的内容覆盖了原文件内容

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

python 修改文件夹权限 python 修改用户对文件权限_python 修改文件夹权限_23


python 修改文件夹权限 python 修改用户对文件权限_读取文件_24


验证a的写操作:

python 修改文件夹权限 python 修改用户对文件权限_基本操作_25


可以看到,从7位置开始写入,写入完成后指针位置为9,说明a操作并没有清空原文件的内容

查看原文件

python 修改文件夹权限 python 修改用户对文件权限_文件复制_26


python 修改文件夹权限 python 修改用户对文件权限_python 修改文件夹权限_27


可以看到,新写入的字符追加在了原来的字符后

当文件不存在时,验证a的写入操作:

python 修改文件夹权限 python 修改用户对文件权限_python 修改文件夹权限_28


可以看到,从8位置开始写入,写入完成后指针位置为12, 说明a操作并没有清空原文件的内容

python 修改文件夹权限 python 修改用户对文件权限_python 修改文件夹权限_29


查看原文件内容,可以看到,hehe添加在了原文件内容之后

python 修改文件夹权限 python 修改用户对文件权限_读取文件_30

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

python 修改文件夹权限 python 修改用户对文件权限_基本操作_31


当文件不存在时,验证a+的写入操作:

python 修改文件夹权限 python 修改用户对文件权限_读取文件_32

python 修改文件夹权限 python 修改用户对文件权限_文件复制_33


文件不存在,不报错, 生成这个文件并且写入指定内容,从0位置开始写入,写入完成后指针位置为7

查看原文件,

python 修改文件夹权限 python 修改用户对文件权限_读取文件_34


python 修改文件夹权限 python 修改用户对文件权限_python 修改文件夹权限_35


可以看到已经建立了这个文件并且写入了内容