打印到文本文件不会对文本文件进行任何更改

时间:2016-08-07 06:18:39

标签: python-3.x scikit-learn

from sklearn.feature_extraction.text import TfidfVectorizer
file = ("/Users/Desktop/test_dict.txt")
token_dict = {}
vectorizer = TfidfVectorizer(tokenizer = tokenize, stop_words='english', analyzer = 'word')
train_data_features = vectorizer.fit_transform(token_dict.values())
vocab = vectorizer.get_feature_names()
dist = sum(train_data_features)
with codecs.open(file, "wb","utf-8-sig") as output:
    for tag, count in zip(vocab, dist):
        print (count, tag)
        print('%10s ------ %10s' % (count, tag), file = output)

从上面的代码我期望它应该写(计数和标记)到文件。但执行后既不会发生任何错误,也不会向文件写入任何内容。我无法弄清楚我在做错误的地方。

1 个答案:

答案 0 :(得分:0)

来自print的{​​{3}}:“ ... print()不能与二进制模式文件对象一起使用。对于这些,请使用file.write(...)。

您正在以二进制模式("wb")打开文件,要么以文本模式("w")打开文件,要么使用output.write(...)