在线程中打印不适用于python 3

在线程中打印不适用于python 3,python,multithreading,python-3.x,timer,Python,Multithreading,Python 3.x,Timer,由于某些原因,我一直无法使用Python3创建一个简单线程,下面的代码只打印一次“test”,然后让程序运行,不再打印任何行 import time, threading def test(): print("test") threading.Timer(1, test).start() test() 这个代码似乎适用于数百万其他人,但不适用于我 我不确定这是打印失败还是线程根本没有运行。我已经找到并尝试了几十个类似上面的例子,但它们都给了我同样的问题(time.sleep

由于某些原因,我一直无法使用Python3创建一个简单线程,下面的代码只打印一次“test”,然后让程序运行,不再打印任何行

import time, threading

def test():
    print("test")
    threading.Timer(1, test).start()

test()
这个代码似乎适用于数百万其他人,但不适用于我


我不确定这是打印失败还是线程根本没有运行。我已经找到并尝试了几十个类似上面的例子,但它们都给了我同样的问题(time.sleep()也有同样的问题)。我想我可能必须在开始新的线程之前取消线程,但这在循环过程中被证明有点困难,我甚至不确定这是否可行。

我找到了解决问题的方法,我使用的是git bash,在循环中打印值时,它似乎不会显示值,因此它只会在第一次调用函数时打印。使用windows CMD可以正常工作。

是否尝试卸载并再次安装python?哪种版本?我在windows中试用了python 3.6.1,效果很好。Wich OP?我在安装了3.6.1版的两台不同的计算机上尝试了这段代码,它只打印一次测试,是否为您打印多行?是的,确实如此。。。黑魔法?我不这么认为。。。必须是可计算的解释为什么“显然”?我能做些什么来支持git bash?@Moon我不认为你能做任何事情来支持它。后来我发现我所需要做的就是用flush打印<代码>打印(“xx”,flush=True)。在GitBash中工作。