7.1文件的使用
7.1.1文件的打开关闭
文件是数据的集合和抽象。文件包括文本文件(字符串)和二进制文件(字节流)两种。
- f=open(”a.txt”,”rt”)#t表示以文本文件打开
- f=open(”a.txt”,”rb”)#b表示以二进制文件打开
<变量名>=open(<文件路径文件名>,<打开模式>)
打开模式 含义
- ‘r’ 只读模式,文件不存在则返回异常
- ‘w’ 覆盖模式,文件不存在则创建,存在则完全覆盖原文件
- ‘x’ 创建写模式,文件不存在则创建,存在则返回异常
- ‘a’ 追加写模式,文件不存在则创建,存在则在原文最后追加内容
- ‘b’ 二进制文件模式
- ‘t’ 文本文件模式
- ‘+’ 与rwxa一同使用,在原功能基础上同时读写功能
r :可读不能修改
r+:可读并可以修改
PATH文件路径:用\或者/代替
7.1.2文件的读写
文件读取
f.read(size) 读入整个文件,size参数可选,读入前size长度的字符串或者字节流
f.readline(size) 读入一行,size参数可选,读入前size长度的字符串或者字节流
f.readlines(hint) 读入所有行,每行形成一个列表,hint可选,读入hint行
f.seek(offset) 改变指针位置,0为文件开头,2为文件结尾
文件写入
f.write(s) 写入一个字符串
f.writelines(lines) 写入一个列表
7.2 数据不同维度的组织
7.2.1一维数据
生成csv文件:
ls=[‘上海’,’北京’,’天津’,’重庆’]
f=open(”city.csv”,”w”)
f.write(“,”.join(ls)+”\n”)
f.close()
读取csv文件:
f=open(”city.csv”,”r”)
ls=f.read().strip(‘\n’).split(“,”)
f.close()
print(ls)
7.2.2二维数据
输入:
f=open(“city.csv”,”w”)
for row in ls:
f.write(“,”.join(row)+”\n”)
f.close()
输出:
f=open(“cpi.csv”,”r”)
ls=[]
for line in f:
ls.append(line.strip(‘\n’).split(‘,’))
f.close()
print(ls)
for row in ls:
line=””
for item in row:
line+=”{:10}\t”.format(item)
print(line)
7.2.3 高维数据
HTML,XML,JSON等语法结构
zip():获取两个组合数据类型,并将他们的数据交织返回
