跨命令提示符显示

时间:2012-06-30 19:20:21

标签: python stdout

这就是我想要做的,我正在使用命令提示符

import time

mess = list("StackOverflow")
def myFunc():
  for i in xrange(1000):
      for k in mess:
          print k
          time.sleep(0.1)


if __name__ == '__main__':
    myFunc()

我试图跨越cmd提示跨越显示,基本上尝试矩阵效果,我该怎么做呢...

查看屏幕截图:http://i.imgur.com/J4p58.png

我想知道的是,如果可以一次在所有列上垂直打印,然后字符下降(不是水平)

2 个答案:

答案 0 :(得分:1)

By default, print includes a newline
您可以通过在print语句的末尾添加逗号来指定不这样做。

然后,至少在我的系统上,你会遇到缓冲输出的问题 所以我包括了一个冲洗stdout的调用。

import sys, time

mess = "StackOverflow"
def myFunc():
  for i in xrange(1000):
      for k in mess:
          print k,
          sys.stdout.flush()
          time.sleep(0.1)

if __name__ == '__main__':
    myFunc()

Python 3的等效代码:

import sys, time

mess = "StackOverflow"
def myFunc():
  for i in range(1000):
      for k in mess:
          print(k, end=" ")
          sys.stdout.flush()
          time.sleep(0.1)

if __name__ == '__main__':
    myFunc()

答案 1 :(得分:0)

编辑:如果您想要的就是将其打印出来,那么就这样做:

import sys

strng = "S t a c k O v e r f l o w"
for i in range(10000):
    sys.stdout.write(strng)

您是否尝试过这样做?

import time, sys

stackOverflow = "stackoverflow"

for i in range(10000):
    for char in stackOverflow:
        for j in range(3):
            sys.stdout.write(char + " ")
            time.sleep(0.1)

    print("") #Newline