在Python中更快地写入文件

时间:2014-06-26 07:42:47

标签: python file-io encoding tweets

我一直在挖掘推文。我遇到的主要问题是 - 我必须将推文编码为UTF-8,然后将它们写入文件。

我目前的方法:

def on_data(self,data):
    f=open('new','w')
    dict1=json.loads(data)
    val=dict1["text"]
    val= codecs.encode(val,"utf-8","ignore")
    var.x+=1
    f.write(str(var.x)+"\t"+val+"\n")
    return True

有什么方法可以加快这个过程?

1 个答案:

答案 0 :(得分:1)

您没有关闭该文件,这意味着您必须等到Python确定在文件句柄不再使用时可以安全地关闭它。

假设您每次调用on_data()时实际上都想要创建一个新的空文件,那么当with块为def on_data(self, data): dict1 = json.loads(data) val = dict1["text"] val = codecs.encode(val,"utf-8", "ignore") var.x+=1 with open('new', 'w') as f: f.write(str(var.x) + "\t" + val + "\n") return True 块时,您可以使用with statement让Python关闭该文件退出:

{{1}}