【问题标题】:Making a unicode file into a different file将 unicode 文件制作成不同的文件
【发布时间】:2015-07-05 22:05:35
【问题描述】:

目前,我有一个 Python 脚本,它可以打开一个文件并将 Twitter 中的一条推文附加到一个文件中。我的流监听器的部分监听器是这样的:

class listener(StreamListener):

    def __init__(self, api=None, path=None,outname='output',MAX_NUMBER_OF_TWEETS=100,TWEETS_PER_FILE=10,progress_bar=None):

        self.api = api       
        self.path = path
        self.count = 0
        self.outname = outname 
        self.progress_bar = progress_bar
        self.MAX_NUMBER_OF_TWEETS = MAX_NUMBER_OF_TWEETS
        self.TWEETS_PER_FILE = TWEETS_PER_FILE

    def on_data(self, data):
        all_data = json.loads(data) 
        with open(filename,"a") as fid: 
           print>>fid,all_data

但是,打印出来的文件是 Unicode 文件。 我将如何获取文本文件或 JSON 文件?

【问题讨论】:

    标签: python json twitter text unicode


    【解决方案1】:

    Unicode 一个文本文件。您可能看到的是错误输出代码中的输出(例如,文件可能是 UTF-8,而您的控制台可能是另一种编码)。

    如果您使用io module,Python 会让您选择输出文件的编码。在打开文件进行写入时,您可以选择要使用的编码。如果你想在屏幕上打字,你应该使用正确的屏幕。 (在 Linux 中,使用 set 检查语言环境。不知道如何在 Windows 中执行此操作)

    【讨论】:

    • 并不是我没有得到正确的文本,因为 unicode 文件中的所有内容都是我想要的格式。我想要的是一个 .txt 文件或一个 .txt 文件。 json 文件,而不是没有扩展名的 unicode 文件。
    • 好吧,您可以将输出文件重命名为something.txt,在这种情况下,您有一个包含 unicode 的 .txt 文件。没有指示文件编码的扩展名。如果您不喜欢 txt 文件中的 unicode 字符,则可以使用 io 模块将其转换为纯 ASCIILatin-1,但随后您可能会遇到其中无法表示的字符的推文编码。如果您决定使用 JSON,则没有区别。根据定义,它使用 utf-xx 编码。见tools.ietf.org/html/rfc7159#page-9
    猜你喜欢
    • 1970-01-01
    • 2014-09-22
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 2018-05-26
    相关资源
    最近更新 更多