四、文件操作

1. 打开文件

  • 打开文件的模式
# 只能做一种操作
只读模式:r  # 文件指针放在文件的开头
只写模式:w  # 如果文件存在,则将其覆盖
追加模式:a  # 文件指针放在文件的结尾
二进制形式读:rb
二进制形式写:wb
二进制形式追加:ab

# 即可读取,又可写入
读写文件:r+  # 默认从0的光标位置开始读,在光标所在位置开始写(可能将光标后的文字覆盖)
读写文件:w+  # 写入之后光标在最后,读取时需调整光标位置(.seek(指定光标位置)
读写文件:a+  # 写入时总是在为最后位置写入
  • 文件的编码格式
unicode:# 四个字节
ASCII
utf-8:# 表示中文是时用3个字节
gbk:# 表示中文是时用2个字节

# 注意:以什么编码格式编写的文件,在打开时就要用同样的编码格式打开。
  • 当文件不存在时先创建文件
open('文件', mode='w', encoding='utf-8')
open('文件', mode='a', encoding='utf-8')
  • 只有文件存在时才能进行操作
open('文件', mode='r', encoding='utf-8')

2. 读写文件内容

  • 读取操作
file = open('文件', mode='w', encoding='utf-8)
file.read() # 读取所有文件内容
file.read(num) # 读取num个字符
file.readline() # 一行一行读取
file.readlines() # 读取多行
file.close()
  • 写入操作
file = open('文件', mode='w', encoding='utf-8)
file.write('写入内容')
file.close()
  • 注意

    不管是进行读取操作,还是写入操作,在执行完之后,必须关闭打开的文件,执行.close()操作!

3. with结构打开文件

  • 打开单个文件
with open('文件', mode='w', encoding='utf-8) as file:
          file.read()
          file.write('写入内容')
  • 打开多个文件
with open('文件1', mode='w', encoding='utf-8) as file1, open('文件1', mode='w', encoding='utf-8) as file1:
          file1.read()
          file2.read()
          file1.write('写入内容')
          file2.write('写入内容')
  • 注意

    通过with结构打开一个文件,在使用完毕之后会自动关闭打开的文件。

4. os模块

import os
os.rename('原文件名', '新文件名')  # 重命名
os.remove('待删除的文件名')  # 删除文件
os.mkdir(文件夹名)  # 创建文件夹
os.rmdir('文件夹名')  # 删除文件夹(只能删除空文件夹)
os.getcwd()  # 获取文件所在的绝对目录地址
os.chdir(指定文件路径)  # 改变默认文件路径
os.listdir('./')  # 获取当年前目录列表
原文地址:https://www.cnblogs.com/aaron-zhou/p/11783799.html