【问题标题】:How use a print statement from a defined function in Python如何使用 Python 中已定义函数的打印语句
【发布时间】:2020-05-28 12:56:25
【问题描述】:

如何在每个动画之前使用自定义文本调用这个定义的函数,这样我就可以像print(Anim("text")) 一样打印它?

import time
import sys

animation = "|/-\\"

def Anim(text):
    for i in range(20):
        time.sleep(0.1)
        sys.stdout.write("\r" + animation[i % len(animation)])
        sys.stdout.flush()

【问题讨论】:

  • 你使用的是什么操作系统?
  • 使Anim返回要打印的东西
  • @James Windows 10
  • @rdas 是的,但是怎么做?我有点挣扎,因为格式不合适,或者错误消息说使用了很多参数
  • 类似sys.stdout.write(f"\r{text}" + animation[i % len(animation)])?

标签: python function printing


【解决方案1】:

这是你想要的吗?

import time

animation = "|/-\\"

def Anim(text):
    for i in range(20):
        time.sleep(0.1)
        yield "\r" + animation[i % len(animation)]

for frame in Anim(animation):
    print(frame, flush=True, end="")

【讨论】:

  • 是的,但是只有一个 print 语句,就像 print(Anim("text"))。所以我不知道如何在那里实现文本。编辑:@Matthias 回答效果很好
【解决方案2】:

回答:感谢@Matthias

sys.stdout.write(f"\r{text}" + animation[i % len(animation)])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    • 1970-01-01
    • 2014-12-27
    相关资源
    最近更新 更多