使用文件可以做数据的持久化(本地化)。 包括数据库文件,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) #