[PyTorch]PyTorch常用语法/常见坑点

目录

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))

猜你喜欢

转载自www.cnblogs.com/kk17/p/10080529.html