目录
1. make_grid()
2. join与os.path.join()
1.join()函数
语法:‘sep’.join(seq)
参数说明:
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典等
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串
2、os.path.join()函数
语法: os.path.join(path1[,path2[,......]])
返回值:将多个路径组合后返回
注:第一个绝对路径之前的参数将被忽略
3. 读文件写文件
https://www.cnblogs.com/ymjyqsx/p/6554817.html
4. json操作
详细内容1
详细内容2)
json.dumps 将 Python 对象编码成 JSON 字符串
json.loads 将已编码的 JSON 字符串解码为 Python 对象
引入json
import json
常用有2个方法,也是最基本的使用方法:
1、dumps:把字典转成json字符串
2、loads:把json字符串转成字典
#coding:utf-8
import json
test_dict = {'a':1, 'b':2}
#把字典转成json字符串
json_text = json.dumps(test_dict)
print(json_text)
#把json字符串转成字典
json_dict = json.loads(json_text)
print(json_dict)
当然,我写的例子所使用的字典也比较简单。大家可以尝试拟一个复杂的,包含数组的字典。
若你尝试使用dir方法看json模块有什么方法时,会发现还有load、dump方法。这两个方法和上面两个方法少了一个字母s。
这两个方法是为了读写json文件提供的便捷方法。举个栗子,json字符串可以保存到文本文件。若只是使用loads和dumps,代码如下所示。
注意:以下代码涉及到utf-8文件读写,可以参考我前面的文章:Python读写utf-8的文本文件
1、把字典转成json字符串,并保存到文件中
#coding:utf-8
import json
import codecs
test_dict = {'a':1, 'b':2}
#把字典转成json字符串
json_text = json.dumps(test_dict)
#把json字符串保存到文件
#因为可能json有unicode编码,最好用codecs保存utf-8文件
with codecs.open('1.json', 'w', 'utf-8') as f:
f.write(json_text)
2、从json文件中读取到字典中
#coding:utf-8
import json
import codecs
#从文件中读取内容
with codecs.open('1.json', 'r', 'utf-8') as f:
json_text = f.read()
#把字符串转成字典
json_dict = json.loads(json_text)
上面代码,我们可以用load和dump修改。
1、dump把字典转成json字符串并写入到文件
#coding:utf-8
import json
import codecs
test_dict = {'a':1, 'b':2}
#把字典转成json字符串并写入到文件
with codecs.open('1.json', 'w', 'utf-8') as f:
json.dump(test_dict, f)
2、load从json文件读取json字符串到字典
#coding:utf-8
import json
import codecs
#从json文件读取json字符串到字典
with codecs.open('1.json', 'r', 'utf-8') as f:
json_dict = json.load(f)
这样明显省事很多。
最后,再说一个知识点。如何把json转成有序的字典。
众所周知,字典是无序的。所以json的loads方法转换得来的字典本来就是无序的。
但出于某种需求,需要确保顺序正常,按照原本json字符串的顺序。
这个需要在解析的时候,把无序字典换成有序字典。如下代码:
#coding:utf-8
from collections import OrderedDict
import json
json_text = '{ "b": 3, "a": 2, "c": 1}'
json_dict = json.loads(json_text)
print(u"转成普通字典")
for key, value in json_dict.items():
print("key:%s, value:%s" % (key, value))
json_dict = json.loads(json_text, object_pairs_hook=OrderedDict)
print(u"\n转成有序字典")
for key, value in json_dict.items():
print("key:%s, value:%s" % (key, value))