1.文本文件
1)建立文件
newfile='d:\\t1.txt'
b_new_file=open(newfile,'w')
b_new_file.close()
open函数常用格式:
open(file,mode=‘w’)
mode参数值 | 功能描述 |
---|---|
r | 以只读方式打开已存在文件 |
w | 以可写方式打开文件,若文件不存在则建立新文件 |
x | 以可写方式建立一个新文件 |
a | 以追加写入方式打开一个文件;若指定文件不存在,则建立新文件,再追加写入 |
b | 二进制模式 |
t | 文本模式 |
+ | 以读写方式打开一个文件 |
r.w.x.a可与b.t.+组合使用
2)基本的读写文件
①用文件对象write(s)方法写内容
newfile=r'd:\t1.txt'
b_new_file=open(newfile,'w')
t_n=b_new_file.write('I like Python!') #write()方法返回写入的字节数
b_new_file.close()
print("往文件里写入%d字节内容"%(t_n))
②用文件对象read()方法读内容
b_new_file=open(newfile,'r')
tt=b_new_file.read()
print(tt)
b_new_file.close()
3)复杂的读写文件
①一次写入多行
nums=['one','two','three','four','five','six','seven']
t=open(r'd:\t2.txt','a')
for get_one in nums:
t.write(get_one+'\n')
t.close()
②一次读一行
t1=open(r'd:\t2.txt','r')
dd=1
while dd:
dd=t1.readline() #一次读一行
print(dd)
③以列表格式读取多行
t1=open(r'd:\t2.txt','r')
L_s=t1.readlines()
print(L_S)
#执行结果如下
['one\n','two\n','three\n','four\n','five\n','six\n','seven\n']
④连续读特定字节数量的内容
在上述执行结果的基础上,继续执行下列代码
>>>f=open(r'd:\t2.txt','r')
>>>f.readline(2)
'on' #第一次读取头两个字节
>>>f.readline() #继续读同一行,剩余字节
'e\n'
>>>f.read(4) #继续读四个字节
'two\n'
>>>f.read(4)
'thre'
⑤在指定位置读内容
Ⅰ.f.tell()
tell()方法返回当前文件可以读写的位置(字节数)
#在上述基础上继续执行如下代码
>>>f.tell() #获取当前位置
14
>>>f.read(1) #继续读第一个字节
'e' #读取three的第二个e,位置指向15
>>>f.tell() #获取当前位置
15
Ⅱ.f.seek(offset[,whence])
seek()方法重新指定要读写的当前位置。offset参数设置位置的偏移量的字节数。whence参数可选,确定文件起计位置,默认值为SEEK_SET(或0),代表从文件的开始位置+偏移量来确定当前的位置;SEEK_CUR(或1),代表当前位置起计;SEEK_END(或2),代表从文件的结尾起计。
#在上述代码上继续执行
>>>f.seek(17) #指定当前位置为17(开始位置0+偏移量17)
17 #返回当前位置
>>>f.read(4) #从17开始读取4字节
'four'
2.JSON文件
1)JSON格式
定义:是一种轻量级的数据交换格式。它开始被用于Javascript语言,后被推广为不同程序之间数据共享的一种技术标准。
JSON常用两种结构数据类型
①“键值”对的集和。python里对应字典。
②值的有序列表。python里对应列表、元组。
示例:
>>>import json
>>>p_d={'Tom':29,'Jack':20,'Jim':12} #字典数据结构
>>>p_d
{'Tom':29,'Jack':20,'Jim':12}
>>>p_to_j=json.dumps(p_d) #转化为json类型
>>>p_to_j
'{'Tom':29,'Jack':20,'Jim':12}' #json格式,主要多了一对单引号
>>>j_to_p=json.loads(p_to_j) #转化为python字典格式
>>>j_to_p
{'Tom':29,'Jack':20,'Jim':12} #字典格式
2)读写JSON文件
①demp函数:把python数据写入JSON文件。demp(obj,f,ensure_ascii=True,…)
obj:python语言数据对象
f:文件名
ensure_ascii:默认值为True,意味着只接手ASCII表里的数据类型。
②load(f,…)函数:实现从JSON文件中读取数据,并转为python语言熟悉的数据类型。
3.XML格式文件
1)XML(可扩展标记语言):它定义了一组规则,用于以人类可读和机器可读的格式对文档进行编码。