我有Python中的字典列表,并希望将其作为json文件上传到Azure文件存储。当我在本地打印列表时,存在换行符。在上载并手动检查Azure File Storage上的文件后,我注意到换行符不存在。
list_of_dicts = my_json_dicts
transformed_dict_str = '\n'.join([json.dumps(x) for x in list_of_dicts])
# print(transformed_dict_str) gives me the "dicts"/lines separated by linebreaks.
service.create_file_from_text(share_name, file_path, file_name.json, transformed_dict_str, encoding='utf-8')
有人可以告诉我为什么上传的文件(当我通过Azure的浏览器界面手动下载后在记事本中打开文件时)不包含换行符吗?
编辑:
当我使用以下代码将字符串写入本地路径时,换行符仍然存在。因此,它必须在create_file_from_text函数期间发生吗?
file = open("myjson.json", "w")
file.write(transformed_dict_str)
file.close()
答案 0 :(得分:1)
请在代码中使用'\r\n'
代替'\n'
。
使用'\ n'时,我可以重现您的问题,但使用'\ r \ n'时,效果很好(在记事本中有换行符)。