当前位置: 首页 > 知识库问答 >
问题:

Python unicode文件写入

刘乐童
2023-03-14

我正在使用twitter python库从公共流中获取一些推文。该库以json格式获取推文并将其转换为python结构。我正在尝试做的是直接获取json字符串并将其写入文件。在twitter库中,它首先读取网络套接字并将. decode('utf8')应用到缓冲区。然后,它将信息包装在python结构中并返回。我可以使用jsonEncoder将其编码回json字符串并将其保存到文件中。但是我想字符编码有问题。当我尝试打印json字符串时,它在控制台中打印得很好。但是当我尝试将其写入文件时,会出现一些字符,例如لل

我试图使用不同的编码打开保存的文件,但没有任何变化。它假设是utf8编码,当我尝试显示它时,这些特殊字符应该替换为它们所代表的实际字符。我在这里错过了什么吗?我怎样才能做到这一点?

更多信息:

我使用的是蟒蛇 2.7

我这样打开文件:

json_file=打开('test.json','w')

我也试过这个:

json_file=编解码器。打开(“test.json”、“w”、“utf-8”)

什么都没变。我盲目地在json字符串上尝试了. encode('utf8'). decode('utf8'),结果是一样的。我尝试了不同的文本编辑器来查看编写的文本,我使用cat命令在控制台中查看文本,那些以\u开头的字符仍然出现。

更新:

我解决了这个问题。jsonEncoder有一个选项ensure_ascii

如果确保_ascii为True(默认值),则输出中的所有非ascii字符都用\uXXXX序列进行转义,结果是仅包含ASCII字符的str实例。

我将它设置为< code>False,问题就消失了。

共有2个答案

卢和昶
2023-03-14

好吧,既然你不会把你的答案贴出来,我会的。这个问题不应该没有答案。

jsonEncoder有一个选项< code >确保_ascii。

如果确保_ascii为True(默认值),则输出中的所有非ascii字符都用\uXXXX序列进行转义,结果是仅包含ASCII字符的str实例

如果设置为False,问题就会消失。

靳涵亮
2023-03-14

jsonEncoder有一个选项ensure_ascii

如果确保_ascii为True(默认值),则输出中的所有非ascii字符都用\uXXXX序列进行转义,结果是仅包含ASCII字符的str实例

让它变假,问题就会消失。

 类似资料:
  • 问题内容: 如何将一小段文字写入文件?我已经使用Google搜索了3-4多个小时,但无法找到具体方法。 有很多论据,我不知道该如何使用。 当您只想在文件中写一个名字和几个数字时,最容易使用的功能是什么? 编辑:添加了一段我的代码。 问题答案:

  • Go将数据写入文件的方法和上面介绍过的读取文件的方法很类似。 package main import ( "bufio" "fmt" "io/ioutil" "os" ) func check(e error) { if e != nil { panic(e) } } func main() { // 首先看一下如何将一个字符

  • 通过FileEntry的createWriter方法可以获取FileWriter对象,通过FileWriter可以对文件进行写操作: fileEntry.createWriter(function(fileWriter) { //We'll do something with fileWriter later }, errorHandler); 对于FileEntry,可以通过Entry

  • 相应的,文件读取有了,自然有文件写入类,使用方式与FileReader也类似: FileWriter writer = new FileWriter("test.properties"); writer.write("test"); 写入文件分为追加模式和覆盖模式两类,追加模式可以用append方法,覆盖模式可以用write方法,同时也提供了一个write方法,第二个参数是可选覆盖模式。 同样,

  • 问题内容: 我知道我们应该在问题中添加一些代码,但是我非常傻眼,无法束手无策,也找不到任何可循的例子。 基本上,我想打开文件 C:\ A.txt ,其中已经包含内容,并在末尾写一个字符串。基本上是这样的。 文件A.txt包含: 我想打开它并在末尾写Sue,所以文件现在包含: 抱歉,没有代码示例,今天早上我的大脑死了。 问题答案: 请搜索Larry Page和Sergey Brin向全世界发布的Go

  • 打开文件及文件读写 打开文件及文件读写 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * *//* * 代码清单:文件读写例子 * * 这个例子演示了如何读写一个文件。 */

  • 读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。 读文件 要以读文件的模式打

  • 读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。 读文件 要以读文件的模式打