提问者:小点点

在python中从print语句写入文件[重复]


我试图打印出每个集群的前10个单词,我正在努力将其保存到一个文件,不知道如何将内容保存到文件中,而不只是内置功能。这是我的代码。谁能给点建议吗?谢啦

代码:

l=['0','1','2','3','4']

for i in range(best_K):
    print(l[i],"Cluster top words:", end='')
    for ind in order_centroids[i, :10]: 
        word=vocab_frame.ix[terms[ind].split(' ')].values.tolist()[0][0]
        print(' %s' % word, end=',')
    print()

第1条:

In the text file i get <built-in function print>
l=['0','1','2','3','4']

order_centroids = model.cluster_centers_.argsort()[:, ::-1] 

for i in range(best_K):
    f = open("output.txt", "w")
    print(l[i],"Cluster top words:", end='')
    for ind in order_centroids[i, :10]: 
        word=vocab_frame.loc[terms[ind].split(' ')].values.tolist()[0][0]
        print(' %s' % word, end=',')
        my_top=str(print)
        f.write(my_top)

共2个答案

匿名用户

fp = open("test.txt",'a')

for i in range(best_K):
    print(l[i],"Cluster top words:", end='',, file=fp)
    for ind in order_centroids[i, :10]:
        word=vocab_frame.ix[terms[ind].split(' ')].values.tolist()[0][0]
        print(' %s' % word, end=',', file=fp)
    print(file=fp)

匿名用户

Pythonprint函数实际上处理这个问题。您选择不使用上下文管理器来处理文件缓冲区的设置/拆除是否有原因?

l=['0','1','2','3','4']

order_centroids = model.cluster_centers_.argsort()[:, ::-1] 

with open("output.txt", "w") as f:
    for i in range(best_K):
        print(l[i], "Cluster top words:", end='', file=f)
        print(*[vocab_frame.loc[terms[ind].split(' ')].values.tolist()[0][0] for ind in order_centroids[i, :10]], sep=',', file=f)