将JSON字符串作为文件上传到Azure文件存储-换行符消失

时间:2019-01-11 08:29:56

标签: python azure azure-storage

我有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()

1 个答案:

答案 0 :(得分:1)

请在代码中使用'\r\n'代替'\n'

使用'\ n'时,我可以重现您的问题,但使用'\ r \ n'时,效果很好(在记事本中有换行符)。