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方法

  • 一次只读一行,并且返回内容
  • 方法执行后,会把文件指针移动到下一行,准备再次读取

 

文件/目录的常用文件管理操作:(创建、重命名、删除、改变路径、查看目录内容等)

  1. 调用 os 模块 import os
  2. 文件操作
    序号 方法名 解释 示例
    1 rename 重命名文件 os.rename(源文件名,目标文件名)
    2 remove 删除文件 os.remove(文件名)
  3. 目录操作
    序号 方法名 解释 示例
    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()

 

posted @ 2022-07-27 18:20  Tatsukyou  阅读(110)  评论(1编辑  收藏  举报