描述:Python的文件操作涉及对文件的读/写与编码的处理。
1、两种写法
1.1 第一种
1 f = open('文件路径', '文件操作方式', encoding='utf-8') 2 对文件操作 3 f.close()
1.2 第二种
1 with open('文件路径', '文件操作方式', encoding='utf-8') as f: 2 通过f来读取文件
2、使用python读文本文件
如果非要使用“~”表示“home”目录, 需要使用python的“os”模块:
1 import os
2 real_path = os.path.expanduser('~/project/xxx')
参数encoding在打开文件的时候将文件转换成utf-8编码格式,从而避免乱码的出现。
读取所有行,并以列表的形式返回结果:
1 f.readlines()
直接把文件里面的内容用一个字符串返回:
1 f.read()
3、使用python写文本文件
1 with open('文件路径', 'w', encoding='utf-8') as f: 2 通过f来写文件
直接将一大段字符串写入到文本中:
1 f.write('一大段文字')
将列表里面的所有字符串写入到文本中:
1 f.writelines(['第一段话','第二段','第三段'])
4、使用python读写CSV文件
4.1 说明
(1)CSV文件可以用Excel或则Numbers打开,得到可读性很高的表格
(2)使用python的CSV模块,可以将CSV文件的内容转换为python字典。
4.2 python读CSV文件
(1)导入CSV模块
import csv
(2)csv本质上是文本文件,需要先以文本文件的方式打开,再将文件对象传递给CSV模块
1 with open('example.vsv', 'r', encoding='utf-8') as f: 2 reader = csv.DictReader(f) 3 for row in reader: 4 print(row) 5 # 也可以用迭代方式 6 # reader = [row for row in csv.DictReader(f)]
4.3 python写CSV文件
(1)说明
a.python可以把一个字典写成CSV文件,或者把一个包含字典的列表写成CSV文件。
b.python写CSV文件比读CSV文件复杂一点,要指定列名(fieldnames),列名要和字典的Key一个一个对应
(2)写入csv文件的列名行
writer.writeheader()
(3)将包含字典的列表全部写入到csv文件中
writer.writerow(字典)
(4)格式
1 with open('example.csv', 'w', encoding='utf-8'): 2 writer = csv.DictWriter(f, fieldnames=['Key1','Key2']) 3 writer.writeheader() 4 writer.writerows(字典) 5 # 单行写入 6 # writer.writerow({})