【问题标题】:Python: save the help result to a variablePython:将帮助结果保存到变量中
【发布时间】:2013-02-15 00:05:51
【问题描述】:

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

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

例如。

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

【问题讨论】:

标签: python nltk


【解决方案1】:

查看help.py 的源文件,它使用print 语句并且不返回任何内容。 upenn_tagset 调用_format_tagset,将所有内容传递给_print_entries,后者使用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 接受的答案所做的,除了它使用可重用的类包装器 - 这是一个一次性解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多