python——文件操作
文件的类型:(文件本质上都是二进制存储的,文件通常存储在外存上)
1.文本文件
- 可以用文本编辑软件查看的文件
- 本质上是二进制文件
2.二进制文件
- 保存的内容不是给人阅读的,而是给其他软件使用的
- 二进制文件不能用文本编辑软件查看,需要用相应的软件打开
操作文件的套路:
1.打开文件
2.读写文件
- 读:将文件的内容读入内存
- 写:将内存内容写入文件
3.关闭文件
操作文件的函数/方法
序号 | 函数/方法 | 解释 |
1 | open | 打开文件,并且返回文件操作的对象 |
2 | read | 将文件内容读取到内存 |
3 | write | 将指定内容写入文件 |
4 | close | 关闭文件 |
open函数
第一个参数是要打开的文件名(文件名区分大小写)
如果文件存在,返回文件作为操作的对象
如果文件不存在,会抛出异常
打开文件的方式:
访问方式 | 解释 |
r | 以只读的方式打开文件。文件指针会放到文件的开头,这是open的默认访问模式。如果文件不存在会抛出异常。 |
w | 以只写的方式打开文件。如果文件存在会被覆盖。如果文件不存在,会创建新文件。 |
a | 以追加的方式打开文件。如果文件存在,文件指针将会放在文件的结尾。如果文件不存在,将创建一个新的文件进行写入。 |
r+ | 以读写的方式打开文件。文件指针会放到文件的开头。如果文件不存在,将抛出异常。 |
w+ | 以读写的方式打开文件。如果文件存在会被覆盖。如果文件不存在,会创建新的文件。 |
a+ | 以读写的方式打开文件。如果文件存在,文件指针将会放在文件的结尾。如果文件不存在,将创建一个新的文件进行写入。 |
Tip:频繁的移动文件指针,会影响文件的读写效率,开发中更多以只读、只写的方式。
read()方法
可以一次性读入并返回文件的所有内容
close()方法
用于关闭文件
注意: 如果忘记关闭文件,会造成系统资源的消耗,而且会影响到后续文件的访问
文件指针:
- 用于标记从哪个位置开始读取数据
- 第一次打开文件时,通常文件指针会指向文件的开始位置
- 当执行了 read 方法后,默认情况下文件指针会移动到读取内容的末尾
readline方法
- 一次只读一行,并且返回内容
- 方法执行后,会把文件指针移动到下一行,准备再次读取
文件/目录的常用文件管理操作:(创建、重命名、删除、改变路径、查看目录内容等)
- 调用 os 模块 import os
- 文件操作
序号 方法名 解释 示例 1 rename 重命名文件 os.rename(源文件名,目标文件名) 2 remove 删除文件 os.remove(文件名) - 目录操作
序号 方法名 解释 示例 1 listdir 目录列表 os.listdir(目录名)
"."表示这一文件
2 mkdir 创建目录 os.mkdir(目录名) 3 rmdir 删除目录 os.rmdir(目录名) 4
getcwd 获取当前目录 os.getcwd() 5 chdir 修改工作目录 os.chdir(目标目录) 6 path.isdir 判断是否时文件 os.path.isdir(文件路径)
文件批量修改名字:
1 import os 2 3 path = 'C:/Users/chen/Desktop/Deep-learning/PetImages/Dog' # 文件路径 4 count = 0 5 filelist = os.listdir(path) # 该文件夹下所有文件 6 7 8 def rename(): 9 global count 10 for files in filelist: # 遍历文件 11 Olddir = os.path.join(path, files) # 原来的文件路径 12 filename = os.path.splitext(files)[0] # 文件名 13 filetype = os.path.splitext(files)[1] # 文件扩展名 14 # print(filename) 15 # print(filetype) 16 Newdir = os.path.join(path, "Dog."+str(count)+".jpg") # 新的文件路径 17 os.rename(Olddir, Newdir) # 重命名 18 count += 1 19 20 21 rename()