我正在尝试使用python代码创建JSON文件。已成功使用英语创建文件,但无法正确使用马拉地语言。
请查看代码:
import os
import json
jsonFilePath = "E:/file/"
captchaImgLocation = "E:/file/captchaimg/"
path_to_tesseract = r"C:/Program Files/Tesseract-OCR/tesseract.exe"
image_path = r"E:/file/captchaimg/captcha.png"
x = {
"FName": "प्रवीण",
}
# convert into JSON:
y = json.dumps(x, ensure_ascii=False).encode('utf8')
# the result is a JSON string:
print(y.decode())
completeName = os.path.join(jsonFilePath, "searchResult_Unicode.json")
print(str(completeName))
file1 = open(completeName, "w")
file1.write(str(y))
file1.close()
O/P on console:
{"FName": "प्रवीण"}
<br>
File created inside folder like this:
b'{"FName": "\xe0\xa4\xaa\xe0\xa5\x8d\xe0\xa4\xb0\xe0\xa4\xb5\xe0\xa5\x80\xe0\xa4\xa3"}'
没有运行时或编译时错误,但JSON是使用上述格式创建的。 请给我建议解决办法
以所需的编码方式打开文件,然后
json.dump
对其执行以下操作:输出:
out.json(UTF-8编码):
out2.json(ASCII编码):
您希望json是人类可读的吗?这通常是不好的做法,因为您永远不知道使用什么编码。
您可以使用json模块写入/读取json文件,而无需担心编码问题:
您已经对JSON字符串进行了编码,因此必须以二进制模式打开文件,或者在写入文件之前对JSON进行解码,因此:
或
做
将字节的字符串表示形式写入文件,这样做总是错误的
相关问题 更多 >
编程相关推荐