一、python写入json文件
with codecs.open(out_file, 'w', 'utf-8') as file_obj:
json.dump(response.json(), file_obj, ensure_ascii=False)
需要用utf-8来解码中文,因此需要标注。老师教我导入了codecs包,用codecs帮忙解码。查了一下基于python2的时候需要这么做,如果是python3以上版本好像可以直接用open解码即可。
调用json的dump函数,将获取的json文件存入out_file文件中。
二、python读取json文件
with open(jsondir, encoding='utf-8-sig', errors='ignore') as file:
test = json.load(file)
这个就是基于python3,可以直接通过改写open函数的参数来对含中文的json文件做一个正确的读取。调用json包的load文件,将jsondir这个绝对路径中的json文件打开变量test里存储。
三、通过URL接口上传文件
file = open(lo_ori, 'rb')
response = requests.post(url=url, files={'image_binary': file})
file.close()
导入requests包,采用post函数,上传文件时,对应好相应的属性名。文件开始时需要打开,结束后要关闭以方便后续操作。
四、遍历文件夹的文件
for root, dirs, names in os.walk(src):
for filename in names:
lo_ori = os.path.join(root, filename)
os.walk函数遍历源文件夹的每一个文件,并分别返回:
root — 最深的文件夹的绝对路径
names — 每个文件夹拥有的每个文件的名字
dirs — 每个文件夹拥有的子文件夹的名字
注意:names和dirs随着root的深入会发生改变。
filename仅仅是文件名(包含前后缀)。os.path.splitext(filename)[-1]←通过这个函数可以获得文件后缀。os.path.join函数生成了文件的完整路径。