使用文件可以做数据的持久化(本地化)。 包括数据库文件,txt、json,plist,二进制文件等等。
在python中的文件操作很简单,是通过一个内置函数open()实现的。
""" open(file, mode='r', encoding=None, errors=None) open函数主要接收两个参数,需要打开的文件file, 打开方式mode,encoding编码方式, 如果需要忽略少数的如编码之类的错误 可以传入errors="ignore" w 以写方式打开, 文件不存在时创建新文件 a 以追加模式打开,文件不存在时创建新文件 r+ 以读写模式打开 w+ 以读写模式打开 (参见 w ) a+ 以读写模式打开 (参见 a ) rb 以二进制读模式打开 wb 以二进制写模式打开 (参见 w ) ab 以二进制追加模式打开 (参见 a ) rb+ 以二进制读写模式打开 (参见 r+ ) wb+ 以二进制读写模式打开 (参见 w+ ) ab+ 以二进制读写模式打开 (参见 a+ ) """ f = open(r"./python招聘信息.txt","r",encoding="utf-8") f.read() #以字符串的形式,一次性返回所有文件内容 f.readline() # 读一行,调用一次,读取一行 f.readlines() #返回一个列表,列表的元素是文件中每一行的内容 #f.write() 当以写的形式打开文件时,可以使用该方法,需要传入写入的内容 f.flush() #当需要更新文件的内容时,调用该方法刷新缓存,立即将数据写入文件 f.close() #关闭文件,如果需要向文件中写入内容,在没有flush方法时,调用次方法才能将内容写入
json数据本身是文本数据;json文件就是后缀是.json的文件, 并且文件内容必须满足json格式的要求
1.json格式
a.一个json对应一条数据
b.json中的数据必须是json对应的数据类型
数字类型(number) --> 所有的数字,包含整数和小数,例如:100, 12.5
字符串类型(string) --> 用双引号括其的数据,例如:"abc", "你好,世界!"
数组(array) --> 相当于python中列表, 例如: [100, 230, "abc", "你好"]
# 列表转集合(去重)
list1 = [6, 7, 7, 8, 8, 9]
set(list1)
# {6, 7, 8, 9}
#两个列表转字典
list1 = ['key1','key2','key3']
list2 = ['1','2','3']
dict(zip(list1,list2))
# {'key1': '1', 'key2': '2', 'key3': '3'}
#嵌套列表转字典
list3 = [['key1','value1'],['key2','value2'],['key3','value3']]
dict(list3)
# {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
# 列表、元组转字符串
list2 = ['a', 'a', 'b']
''.join(list2)
# 'aab'
tup1 = ('a', 'a', 'b')
''.join(tup1)
# 'aab'# 字典转换为字符串
dic1 = {'a':1,'b':2}
str(dic1)
# "{'a': 1, 'b': 2}"
# 字典key和value互转
dic2 = {'a': 1, 'b': 2, 'c': 3}
{value:key for key, value in a_dict.items()}
# {1: 'a', 2: 'b', 3: 'c'}# 字符串转列表
s = 'aabbcc'
list(s)
# ['a', 'a', 'b', 'b', 'c', 'c']
# 字符串转元组
tuple(s)
# ('a', 'a', 'b', 'b', 'c', 'c')
# 字符串转集合
set(s)
# {'a', 'b', 'c'}
# 字符串转字典
dic2 = eval("{'name':'ljq', 'age':24}")
# 切分字符串
a = 'a b c'
a.split(' ')
# ['a', 'b', 'c']1.首先引入json模块
# 引入json模块 import json
2.转换
#JSON到字典转化: dictinfo = json.loads(json_str) #