python控制台动画_Python控制台动画

本文介绍了如何在Python控制台创建旋转指针动画,通过线程实现,详细解析了代码工作原理,包括`sys.stdout.write`、`sys.stdout.flush`以及缓冲区的作用,并探讨了如何使用`print`函数实现相同效果。
摘要由CSDN通过智能技术生成

在《流畅的python》中看到的程序在控制台上显示一个小动画:旋转指针。通过按顺序写入字符"|/-",让其看起来就像是字符在旋转一样。在此记录一下。作者用写了两个版本,线程版和协程版。这里贴出线程版。点击github访问

# BEGIN SPINNER_THREAD

import threading

import itertools

import time

import sys

class Signal: # <1>

go = True

def spin(msg, signal): # <2>

write, flush = sys.stdout.write, sys.stdout.flush

for char in itertools.cycle('|/-\\'): # <3>

status = char + ' ' + msg

write(status)

flush()

time.sleep(.1)

write('\x08' * len(status)) # <4>

if not signal.go:

break

write(' ' * len(status) + '\x08' * len(status)) # <6>

def slow_function(): # <7>

# pretend waiting a long time for I/O

time.sleep(3) # <8>

return 42

def supervisor()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值