1

PythonとNLTKを使用して、ヘルプの結果を変数に保存したいと思います。

x = nltk.help.upenn_tagset('RB')

例えば。

x変数にはNoneが割り当てられます。コンソールはヘルプ関数の結果を出力しますが、それをvarxに保存しません。

4

2 に答える 2

1

help.pyのソースファイルを見ると、ステートメントが使用されており、print何も返されません。upenn_tagsetを呼び出します。これは、を使用して_format_tagsetすべてをに渡します。_print_entriesprint

したがって、私たちが本当にやりたいのは、printステートメントをリダイレクトすることです。

クイック検索、https://stackoverflow.com/a/4110906/1210278-置換しsys.stdoutます。

@mgilsonによってリンクされた質問で指摘されているように、これは一時的な問題に対する永続的な解決策です。どうしようか?それは簡単なはずです-オリジナルをどこかに置いておくだけです。

import sys
print "Hello"
cons_out = sys.stdout
sys.stdout = (other writable handle you can get result of)

do_printing_function()

sys.stdout = cons_out
print "World!"

これは、再利用可能なクラスラッパーを使用していることを除いて、実際にはhttps://stackoverflow.com/a/6796752/1210278で受け入れられている回答とまったく同じです。これはワンショットソリューションです。

于 2013-02-28T17:21:17.073 に答える
0

タグの説明を出力する最も簡単な方法は、タグセット全体をロードしてから、必要なタグのみの説明を抽出することです。

tags = nltk.data.load('help/tagsets/upenn_tagset.pickle')

tags['RB']
于 2022-01-20T20:10:35.770 に答える