我一直在挖掘推文。我遇到的主要问题是 - 我必须将推文编码为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
有什么方法可以加快这个过程?
答案 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}}