首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python告诉带有->语句的程序“不打印”

Python告诉带有->语句的程序“不打印”
EN

Stack Overflow用户
提问于 2015-08-09 03:29:31
回答 6查看 6.1K关注 0票数 3

我目前正在学习Python,并开始了一个项目,为2000-2005年的MLB对决纸牌游戏创建一个棒球模拟程序。这些程序将棒球比赛的事件作为打印语句包含在不同的代码片段中间("Jeff击打一次单打“、"Bobby击打一个飞球出局”等)。如果我想同时运行多个游戏,我经常会去掉print语句。出于可行性的原因,我的目标是告诉Python不要打印某些语句(比如,在特定的行距中),即使代码说的是print“”。这个是可能的吗?

示例:

代码语言:javascript
复制
while numberofgames < 1000:
  [do not print any statements here]
  ---baseball games---
end of while loop

然后:打印仿真结果

EN

回答 6

Stack Overflow用户

发布于 2015-08-09 03:40:10

您是否可以创建一个全局变量,您可以检查该变量以决定要打印多少内容?通过这样做,您可以根据需要控制日志记录量。

代码语言:javascript
复制
  if printLevel > 3:
      print("Bobby hits a fly ball for an out")
票数 4
EN

Stack Overflow用户

发布于 2015-08-09 03:36:29

可以,您可以将所有的打印语句放入一个if结构中,例如.

代码语言:javascript
复制
if printStuff:
    print 'I dont like baseball'
    print 'I love it!'

然后,如果要打印,只需将printStuff设置为True;如果不想打印,则将其设置为False

票数 2
EN

Stack Overflow用户

发布于 2018-06-17 05:42:34

Python的print输出到sys.stdout。您可以为STDOUT设置自己的缓冲区。

代码语言:javascript
复制
# 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())
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31897730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档