文件操作之读写

2019-09-25  本文已影响0人  光明_7c13

一、 文件操作流程
1.打开文件,得到文件的对象(句柄)
2.通过文件对象(句柄)操作文件
3.保存并关闭文件

二、 Python 中如何实现

python中使用open()函数来操作文件。

1.打开文件,得到文件句柄,并把一个变量名分配给这个文件句柄

变量名 = open('文件路径', '打开模式', encoding = '字符编码')

f_obj = open('a.txt', 'r', encoding='utf-8')

2.通过句柄对文件进行操作

data = f_obj.read()
print(data)

3.关闭文件

f_obj.close()

字符编码的问题

f=open(...) 是由操作系统打开文件,那么如果我们没有指定编码,那么打开文件的默认编码很明显是操作系统说了算,操作系统会用自己的默认编码去打开文件,默认情况下,在 windows 下是 gbk,在 linux 下是 utf-8
若要保证不乱码,文件以什么方式存储的,就要以什么方式打开。

三、 文件打开模式

打开文件的模式有:

1. 文本方式操作

2. 字节方式操作

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

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

四、文件操作

1. 读操作

f_obj = open('./a.txt', 'r')

# 读全部
content = f_obj.read()
print(content)

# 每次读一行
line1 = f_obj.readline()

line2 = f_obj.readline()

line3 = f_obj.readline()


# 一次读完,把每一行的内容放在列表中,成为列表中的一个元素
line_list = f_obj.readlines()

2. 写操作

a. 写普通的文本

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

# 针对文本模式的写,需要自己写换行符
f_obj.write('嗯哼\n')
f_obj.write('嗯哼\n')
f_obj.close()

b. 写 bytes 内容

f_obj = open('b.txt', 'wb')

# 定义 bytes 内容, 两种方式都可以
b1 = bytes('嗯哼\n', encoding='utf-8')
b2 = '哈哈哈\n'.encode('utf-8')

# 可以用 writelines() 一次性写入多行
f_obj.writelines([b1, b2])
f_obj.close()
  1. 其他方法和属性
f.name                 # 文件名
f.closed               # 文件是否关闭

f.readable()           # 文件是否可读
f.writable()           # 文件是否可写
f.flush()              # 立刻将文件内容从内存刷到硬盘
上一篇下一篇

猜你喜欢

热点阅读