Python:将帮助结果保存到变量

Python:将帮助结果保存到变量,python,nltk,Python,Nltk,我想使用python和NLTK将帮助结果保存到一个变量中 x = nltk.help.upenn_tagset('RB') 比如说 x变量被赋值为无。控制台打印帮助函数的结果,但不将其保存到变量x。查看的源文件,它使用print语句,不返回任何内容upenn\u标记集调用\u格式\u标记集,它将所有内容传递给\u打印\u条目,使用打印 所以,我们真正想做的是重定向print语句 快速搜索,我们得到了-replacesys.stdout 正如@mgilson链接的问题所指出的,这是一个临时问题的

我想使用python和NLTK将帮助结果保存到一个变量中

x = nltk.help.upenn_tagset('RB')
比如说


x变量被赋值为无。控制台打印帮助函数的结果,但不将其保存到变量x。

查看的源文件,它使用
print
语句,不返回任何内容
upenn\u标记集
调用
\u格式\u标记集
,它将所有内容传递给
\u打印\u条目
,使用
打印

所以,我们真正想做的是重定向print语句

快速搜索,我们得到了-replace
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!"
这实际上正是at接受的答案所做的,只是它使用了一个可重用的类包装器——这是一个一次性解决方案。

应该会有所帮助。您可以将其重定向到StringIO对象,然后从中读取。