如何使Python在同一行上一次打印一个字符?

如何使Python在同一行上一次打印一个字符?,python,python-2.7,Python,Python 2.7,所以,我一直在尝试制作一个小程序,向用户询问各种问题,并根据输入给出分支输出,我一直在尝试使打印文本一次一个字符地出现在屏幕上,每个字符之间有一个短暂的延迟,但在同一行上。我见过其他各种各样的方法,比如 print "H", print "e", 等,但这是非常耗时的,需要我打印出每封信的打印件。我看到了关于这个主题的其他问题,并尝试了其中的代码,但到目前为止似乎没有一个有效。是否有更简单的方法来打印我想要的内容,或者将其转换为打印样式功能 编辑:将其作为一个函数可能非常简单,但我对Pytho

所以,我一直在尝试制作一个小程序,向用户询问各种问题,并根据输入给出分支输出,我一直在尝试使打印文本一次一个字符地出现在屏幕上,每个字符之间有一个短暂的延迟,但在同一行上。我见过其他各种各样的方法,比如

print "H",
print "e",
等,但这是非常耗时的,需要我打印出每封信的打印件。我看到了关于这个主题的其他问题,并尝试了其中的代码,但到目前为止似乎没有一个有效。是否有更简单的方法来打印我想要的内容,或者将其转换为打印样式功能


编辑:将其作为一个函数可能非常简单,但我对Python有点初学者

一个简单的
for
循环将获得任何字符串中的单个字符。唯一真正的技巧是在每个字符后刷新输出,使其立即打印

import sys, time

for c in "Hello there!":
    sys.stdout.write(c)
    sys.stdout.flush()
    time.sleep(0.1)
print
使其成为一项功能确实很简单:

def print1by1(text, delay=0.1):
    for c in text:
        sys.stdout.write(c)
        sys.stdout.flush()
        time.sleep(delay)
    print

print1by1("Hello there!")

在Python3上,可以在Python2上使用
sep
关键字。有几个选择

可能还有其他一些我对python 2不太熟悉

您可以使用
sys.stdout
,这有点过分了

 sys.stdout.write('H')
 sys.stdout.write('e')
再次使用
sys
。。。您可以清除软空间

 print "H",
 sys.stdout.softspace=0
 print "e",
或者

或者

使用
+

 print "H" + "e"
拥有一个字符列表并将其加入,
“”。加入
只是将字符加入一个字符串,这相当于打印“He”

 print "H",; print "e"
 print "H" + "e"
 my_chars = ['H', 'e']
 print "".join(my_chars)