文件的打开和关闭
使用内置函数open打开文件
open函数主要参数介绍:
def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
file:需打开文件的路径
mode:文件打开方式,默认为 r ,表示只读
encoding:是用于解码或编码文件的编码的名称
注:
- open函数会返回一个文件对象
- 在windows中,默认使用gbk编码格式打开文件
实例:
# 因为写文件使的编码方式用的是 utf-8, 所以encoding='utf-8',否则会出现UnicodeDecodeError错误
file = open('cc.txt', encoding='utf-8')
print(file.read())
# 关闭文件
file.close()
文件打开方式
注意:
- 以 r 方式打开,文件不存在会报错
- 以 w 方式打开,会覆盖文件内容。如果文件不存在,会新建文件
- rb:以二进制方式读 , rb+:以二进制方式,可读可写
- wb:以二进制方式写 , wb+:以二进制方式,可读可写
文件读取方式
- read(), 读取文件的所有内容
- readline(), 读取一行数据
- readlines(), 读取所有数据,保存到一个列表中
file = open('cc.txt', encoding='utf8')
print(file.readlines())
file.close()
csv文件的读写
csv的全称是Comma-Separated Values,意思是逗号分隔值。是以纯文本显示表格数据的文件
读取csv文件
读写csv文件需要用到 python 内置的模块 csv 模块。
- 读取csv文件一般使用 csv模块里的 reader 方法,该方法接收一个可迭代对象(比如 csv文件),然后返回一个生成器。
实例:
import csv
file = open('info.csv', encoding='utf8')
obj = csv.reader(file)
for data in obj:
print(data)
file.close()
- 使用 DictReader类,使用方法同reader, 但他会把每一个单元的数据放入一个字典中,列名:单元格数据
import csv
file = open('info.csv', encoding='utf8')
obj = csv.DictReader(file)
for data in obj:
print(data)
file.close()
csv文件的写入
- 使用writerow函数写入单条数据,使用writerows写入多条数据
import csv
file = open('info.csv', encoding='utf8', mode='w', newline='')
dd = csv.writer(file)
# 写入一条数据
data = ['姓名', '年龄', '性别']
dd.writerow(data)
# 写入多条数据
data2 = [['张三', '19', '男'],
['李四', '20', '男']
]
dd.writerows(data2)
file.close()