JSON字符串用json.dumps, json.loads JSON文件名用json.dump, json.load

由于需要在脚本重启后依旧能够记住之前所使用的列表内容, 故采用json存储列表文件, 经过测试, 如下代码可行.

 import json

 def write_json(jlist):
# 将bx列表写入json文件
with open('data/bx_list.json', 'w') as f_obj:
json.dump(jlist, f_obj) def read_json():
# 读取存储于json文件中的列表
with open('data/bx_list.json', 'r') as f_obj:
jlist = json.load(f_obj)
return jlist if __name__ == "__main__":
list0=['bx-1', 'bx-2', 'bx-3', 'bx-4']
write_json(list0)
list1 = read_json()
print(list1)
list1.append('bx-5')
print(list1)
write_json(list1)
print(read_json())

运行结果如下:

['bx-1', 'bx-2', 'bx-3', 'bx-4']
['bx-1', 'bx-2', 'bx-3', 'bx-4', 'bx-5']
['bx-1', 'bx-2', 'bx-3', 'bx-4', 'bx-5']

备注:

1, 在window系统下, 当前目录下级目录表达方式为 'data/bx_list.json' 或者 r'data\bx_list.json', 此外建立json文件并不会建立文件夹, 在这里的data文件夹需要提前建好.

2, with open('data/bx_list.json', 'w') as f_obj: 这一行代码中,'w'的写入方式会覆盖掉原始文件.

补充:

python爬虫requests json与字典对象互相转换

https://www.cnblogs.com/Lin-Yi/p/7640147.html

import requests
import json
'''
json.loads(json_str) json字符串转换成字典
json.dumps(dict) 字典转换成json字符串 '''
# 这是一个ajax发起的get请求,获取一个json对象
r = requests.get("https://m.douban.com/rexxar/api/v2/subject_collection/movie_showing/items?os=ios&for_mobile=1&start=0&count=18&loc_id=108288&_=0")
json_response = r.content.decode() # 获取r的文本 就是一个json字符串 # 将json字符串转换成dic字典对象
dict_json = json.loads(json_response)
print(type(dict_json)) # 将字典转换成json字符串
str_json = json.dumps( dict_json )
print(type(str_json)) # 字典转换成json 存入本地文件
with open('./a.txt','w') as f:
# 设置不转换成ascii json字符串首缩进
f.write( json.dumps( dict_json,ensure_ascii=False,indent=2 ) )

注意:

python将字典转为json数据中文乱码,可用如下代码解决

json.dumps(jsonData,ensure_ascii=False)

python中用json存储列表字典等文件操作的更多相关文章

  1. Learn day3 深浅拷贝/格式化/字符串/列表/字典/集合/文件操作

    1. pass break continue # ### pass break continue # (1) pass 过 """如果代码块当中,什么也不写,用pass来 ...

  2. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  3. Python复习笔记-字典和文件操作

    抽时间回顾2年前自己做过的python工具,突然感觉不像自己写的,看来好久没用过python的字典和文件操作了,查询资料和网页,整理如下: 一.字典 键值对的集合(map) 字典是以大括号“{}”包围 ...

  4. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  5. python【第二篇】列表、元组、字典及文件操作

    本节内容 列表 元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作:列表有序.可变.元素 ...

  6. Python基础2 列表 元祖 字符串 字典 集合 文件操作 -DAY2

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  7. python 列表 字典 读写文件:pickle模块的基本使用

    python数据持久存储:pickle模块的基本使用(转载) 作者: pzxbc 出处: http://pzxbc.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保 ...

  8. python基础:python循环、三元运算、字典、文件操作

    目录: python循环 三元运算 字符串 字典 文件操作基础 一.python编程 在面向过程式编程语言的执行流程中包含: 顺序执行 选择执行 循环执行 if是条件判断语句:if的执行流程属于选择执 ...

  9. 002、Python中json字符串与字典转换

    1.测试用例文件TestCase.xlsx 2.编写Python文件进行读取 #!/usr/bin/env python # -*- coding:utf-8 -*- import time impo ...

随机推荐

  1. 配置基于Devstack的嵌套KVM虚拟化

    本文为minxihou的翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou JmilkFan:minxihou的技术博文方向是 算法&Open ...

  2. [转] .htaccess实现www 与没有www之间的重定向

    建站过程中有时候我们需要做这些设置 1.访问www 直接重定向到没有www上或者反过来,那么怎么通过.htaccess文件来实现呢. 1.首先服务器要支持Rewrite重写 2.创建.htaccess ...

  3. Putty 两步代理访问互联网

    工作在机房,有时需要访问外网. 此时浏览器需要使用代理服务器,访问的流程如下: 由于SERVER2不能直接访问互联网,而SERVER3可以(机房无法直接访问SERVER3)所以需要两步代理. 配置流程 ...

  4. function attributes, MDK

    The keyword format is either of the following: __attribute__((attribute1, attribute2, ...)) __attrib ...

  5. POJ-1836-Alignment-双向LIS(最长上升子序列)(LIS+LSD)+dp

    In the army, a platoon is composed by n soldiers. During the morning inspection, the soldiers are al ...

  6. Python3 From Zero——{最初的意识:005~文件和I/O}

    一.输出重定向到文件 >>> with open('/home/f/py_script/passwd', 'rt+') as f1: ... print('Hello Dog!', ...

  7. linux 网络监控软件nethogs iftop

    1.nethogs yum -y install nethogs 装上了这个工具之后,使用起来就非常简单了.敲入nethogs 就会给出所有的信息.看下面的例子. root@ubuntu2:~# ne ...

  8. jquery.js和jquery.min.js的区别和springboot整合echarts.min.js

    1.区别:jquery官网提供2种jQuery的下载,一种是jquery.js另一种是jquery.min.js文件名不一定完全相同,但通常情况下:jquery.js是完整的未压缩的jQuery库,文 ...

  9. 解决VS2012新建MVC4等项目时,收到此模板加载程序集“NuGet.VisualStudio.Interop…”的错误

    1.错误如图所示: 2.不管是VS2012,还是2013如果开始没安装Nuget包都或报这个错,因为VS2012就已经全面切换到使用NuGet这个第三方开源工具来管理项目包和引用模块了,使用VS201 ...

  10. windows 10 无法启动 windows update 服务 错误 0x80070005 拒绝访问

    windows 10 无法启动 windows update 服务 错误 0x80070005 拒绝访问: 解决方法: 首先重命名系统盘 windows目录下的代号为“SoftwareDistribu ...