2024-06-16 13:33:54 发布
网友
我想使用python和NLTK将帮助结果保存到一个变量中。你知道吗
x = nltk.help.upenn_tagset('RB')
例如。你知道吗
x变量赋值为无。控制台打印帮助函数的结果,但不将其保存到var x
查看help.py的源文件,它使用print语句,不返回任何内容。upenn_tagset调用_format_tagset,它将所有内容传递给_print_entries,后者使用print。你知道吗
print
upenn_tagset
_format_tagset
_print_entries
所以,我们真正想做的是重定向print语句。你知道吗
快速搜索,我们得到了https://stackoverflow.com/a/4110906/1210278-替换sys.stdout。你知道吗
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接受的答案所做的,只是它使用了一个可重用的类包装器——这是一个一次性的解决方案。你知道吗
查看help.py的源文件,它使用
print
语句,不返回任何内容。upenn_tagset
调用_format_tagset
,它将所有内容传递给_print_entries
,后者使用print
。你知道吗所以,我们真正想做的是重定向print语句。你知道吗
快速搜索,我们得到了https://stackoverflow.com/a/4110906/1210278-替换
sys.stdout
。你知道吗正如@mgilson链接的问题所指出的,这是一个临时问题的永久解决方案。那我们该怎么办?那应该很容易-只要把原稿放在某个地方就行了。你知道吗
这实际上就是https://stackoverflow.com/a/6796752/1210278接受的答案所做的,只是它使用了一个可重用的类包装器——这是一个一次性的解决方案。你知道吗
相关问题 更多 >
编程相关推荐