1.11 文件操作

4/12/2018 Python

# 一、文件打开模式

# 1. 文本方式操作

  • r 只读模式【默认】
  • w 只写模式【不可读;不存在则创建;存在则清空原来的内容再写新内容;】
  • a 追加模式【不可读;不存在则创建;存在则以追加的方式写入新的内容;】

# 2. 字节方式操作

b 表示以字节的方式操作,不需要编码的参数 encoding

  • rb 字节方式读取
  • wb 字节方式写入,清空原文件内容
  • ab 字节方式的追加写入

注意:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型



# 二、r 读文件

# 1. 随便创建一个示例文件写入几行内容

hello
everyone
1
2

# 2. open() 函数打开文件

f = open('./a.txt', 'r')
1

# 一次读文全部文件到内存中

msg = f.read()
1

# 主动关闭文件

f.close()
1

# 3. 循环文件对象

f = open('a.txt')

for line in f:
    print(line)

f.close()
1
2
3
4
5
6


# 三、 写文件

# 1. w 写

f = open('a.txt', 'w')

# 针对文本模式的写,需要自己写换行符("\n")
f_obj.write('lenovo\n')
f_obj.write('QF\n')
f_obj.close()
1
2
3
4
5
6

# 2. a 追加

f = open('a.txt', 'a')

# 针对文本模式的写,需要自己写换行符("\n")
f_obj.write('lenovo\n')
f_obj.write('QF\n')
f_obj.close()
1
2
3
4
5
6

# 四、上下文管理器

使用上下文管理器打开文件,可以让 Python 自动关闭文件对象,不必再写 f.close()

上下文管理器使用 with 关键字

file_name = "a.txt"
with    open(file_name, 'r', encoding='utf-8')  as f:
    # with 语句需要缩进,当代码出了这个缩进范围, with 就会帮我们关闭这个文件对象
    for line in f:
        print(line)
print("当你看到这行文字时,with 语句,已经关闭了刚才打开的文件对象")
1
2
3
4
5
6