7.1文件的使用

7.1.1文件的打开关闭

文件是数据的集合和抽象。文件包括文本文件(字符串)和二进制文件(字节流)两种。

  • f=open(”a.txt”,”rt”)#t表示以文本文件打开
  • f=open(”a.txt”,”rb”)#b表示以二进制文件打开

<变量名>=open(<文件路径文件名>,<打开模式>)

打开模式 含义

  1. ‘r’ 只读模式,文件不存在则返回异常
  2. ‘w’ 覆盖模式,文件不存在则创建,存在则完全覆盖原文件
  3. ‘x’ 创建写模式,文件不存在则创建,存在则返回异常
  4. ‘a’ 追加写模式,文件不存在则创建,存在则在原文最后追加内容
  5. ‘b’ 二进制文件模式
  6. ‘t’ 文本文件模式
  7. ‘+’ 与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():获取两个组合数据类型,并将他们的数据交织返回