我目前正在学习Python,并开始了一个项目,为2000-2005年的MLB对决纸牌游戏创建一个棒球模拟程序。这些程序将棒球比赛的事件作为打印语句包含在不同的代码片段中间("Jeff击打一次单打“、"Bobby击打一个飞球出局”等)。如果我想同时运行多个游戏,我经常会去掉print语句。出于可行性的原因,我的目标是告诉Python不要打印某些语句(比如,在特定的行距中),即使代码说的是print“”。这个是可能的吗?
示例:
while numberofgames < 1000:
[do not print any statements here]
---baseball games---
end of while loop
然后:打印仿真结果
发布于 2015-08-09 03:40:10
您是否可以创建一个全局变量,您可以检查该变量以决定要打印多少内容?通过这样做,您可以根据需要控制日志记录量。
if printLevel > 3:
print("Bobby hits a fly ball for an out")
发布于 2015-08-09 03:36:29
可以,您可以将所有的打印语句放入一个if
结构中,例如.
if printStuff:
print 'I dont like baseball'
print 'I love it!'
然后,如果要打印,只需将printStuff
设置为True
;如果不想打印,则将其设置为False
。
发布于 2018-06-17 05:42:34
Python的print
输出到sys.stdout
。您可以为STDOUT设置自己的缓冲区。
# assuming python3
import sys
import io
my_buffer = io.StringIO()
sys.stdout = my_buffer
# print some stuff
stuff_to_print = ['foo', 'word', 'test']
for word in stuff_to_print:
print(word)
# all the other stuff your script does
# change stdout back to original so print is pointing back to original buffer
sys.stdout = sys.__stdout__
# now print everything out at once
print(my_buffer.get_value())
https://stackoverflow.com/questions/31897730
复制相似问题