我试图使用Python将带有键值数据的变量存储在一个文件中,但是当我尝试打印它时,它会以不同的格式出现.
我希望结果像这样打印 -
data={"name":'name',"description": "This is my offering","icon":"/csa/api/blobstore/Magic_RGB_blue_NT.png?tag=library","version": "1.0.0", "design": { "@self": "@self" } }
这是我在打印数据时得到的输出 -
{'icon': '/csa/api/blobstore/Magic_RGB_blue_NT.png?tag=library', 'design': {'@self': '@self'}, 'name': 'name', 'version': '1.0.0', 'description': 'This is my offering'}
Son of a Bea.. 8
您没有说明打印时对您重要的内容,也没有说明您当前正在尝试打印的内容.
字典中没有格式.代码中的任何格式化仅仅是为了使代码看起来像人类可读并且实际上并未存储在您的data
字典中(仅保留每个字符串元素内的格式,即,在一对引号之间).
如果它只是您关注的格式(多行和缩进),解决这个问题的最简单方法是使用漂亮打印模块或JSON模块 - 要么应该完成工作,这取决于您对工作方式的偏好希望数据看起来以及您希望对打印输出格式有多少控制.特别是,JSON输出占据了更多的垂直屏幕空间,但有些人可能认为它略微更具人性化.
PrettyPrint pprint:
import pprint data={"name":'name',"description": "This is my offering","icon":"/csa/api/blobstore/Magic_RGB_blue_NT.png?tag=library","version": "1.0.0","design": {"@self": "@self"}} pp = pprint.PrettyPrinter(indent=4) pp.pprint(data) >>> { 'description': 'This is my offering', 'design': { '@self': '@self'}, 'icon': '/csa/api/blobstore/Magic_RGB_blue_NT.png?tag=library', 'name': 'name', 'version': '1.0.0'} >>>
JSON转储:
import json data={"name":'name',"description": "This is my offering","icon":"/csa/api/blobstore/Magic_RGB_blue_NT.png?tag=library","version": "1.0.0","design": {"@self": "@self"}} print(json.dumps(data, indent=4)) >>> { "icon": "/csa/api/blobstore/Magic_RGB_blue_NT.png?tag=library", "design": { "@self": "@self" }, "name": "name", "version": "1.0.0", "description": "This is my offering" } >>>
如果您担心项目的打印顺序,那么您需要有一个数组,按照首选顺序存储密钥(字典没有任何不良的排序),然后迭代您的密钥和逐个手动打印字典项(可能使用键阵列上的列表解析).
您没有说明打印时对您重要的内容,也没有说明您当前正在尝试打印的内容.
字典中没有格式.代码中的任何格式化仅仅是为了使代码看起来像人类可读并且实际上并未存储在您的data
字典中(仅保留每个字符串元素内的格式,即,在一对引号之间).
如果它只是您关注的格式(多行和缩进),解决这个问题的最简单方法是使用漂亮打印模块或JSON模块 - 要么应该完成工作,这取决于您对工作方式的偏好希望数据看起来以及您希望对打印输出格式有多少控制.特别是,JSON输出占据了更多的垂直屏幕空间,但有些人可能认为它略微更具人性化.
PrettyPrint pprint:
import pprint data={"name":'name',"description": "This is my offering","icon":"/csa/api/blobstore/Magic_RGB_blue_NT.png?tag=library","version": "1.0.0","design": {"@self": "@self"}} pp = pprint.PrettyPrinter(indent=4) pp.pprint(data) >>> { 'description': 'This is my offering', 'design': { '@self': '@self'}, 'icon': '/csa/api/blobstore/Magic_RGB_blue_NT.png?tag=library', 'name': 'name', 'version': '1.0.0'} >>>
JSON转储:
import json data={"name":'name',"description": "This is my offering","icon":"/csa/api/blobstore/Magic_RGB_blue_NT.png?tag=library","version": "1.0.0","design": {"@self": "@self"}} print(json.dumps(data, indent=4)) >>> { "icon": "/csa/api/blobstore/Magic_RGB_blue_NT.png?tag=library", "design": { "@self": "@self" }, "name": "name", "version": "1.0.0", "description": "This is my offering" } >>>
如果您担心项目的打印顺序,那么您需要有一个数组,按照首选顺序存储密钥(字典没有任何不良的排序),然后迭代您的密钥和逐个手动打印字典项(可能使用键阵列上的列表解析).