How and where to learn ASCII animation?
Asciimation - Create animated ASCII art for your terminal
What is ASCII animation?
What determines the quality of the ASCII output?
Can I download the animation?
Videos
Here is an example of what I want to do https://youtu.be/xWzXNo5uQMI
Not in that level because it is far beyond what I know now
I just ported my example with the animated gif to ASCII animation from my answer here to python. You will need to install the pyglet library from here, as python unfortunately has no built-in animated-gif support. Hope you like it :)
import pyglet, sys, os, time
def animgif_to_ASCII_animation(animated_gif_path):
# map greyscale to characters
chars = ('#', '#', '@', '%', '=', '+', '*', ':', '-', '.', ' ')
clear_console = 'clear' if os.name == 'posix' else 'CLS'
# load image
anim = pyglet.image.load_animation(animated_gif_path)
# Step through forever, frame by frame
while True:
for frame in anim.frames:
# Gets a list of luminance ('L') values of the current frame
data = frame.image.get_data('L', frame.image.width)
# Built up the string, by translating luminance values to characters
outstr = ''
for (i, pixel) in enumerate(data):
outstr += chars[(ord(pixel) * (len(chars) - 1)) / 255] + \
('\n' if (i + 1) % frame.image.width == 0 else '')
# Clear the console
os.system(clear_console)
# Write the current frame on stdout and sleep
sys.stdout.write(outstr)
sys.stdout.flush()
time.sleep(0.1)
# run the animation based on some animated gif
animgif_to_ASCII_animation(u'C:\\some_animated_gif.gif')
This is precisely the sort of application that I created asciimatics for.
It is a cross-platform console API with support for generating animated scenes from a rich set of text effects. It has been proved to work on various flavours of CentOS and Windows and OSX.
Samples of what is possible are available from the gallery. Here's a sample similar to the animated GIF code provided in other answers.

I assume you're just looking for a way to do any animation, but if you really wanted to replicate the steam train, you could convert it to a Sprite and give it a Path that just runs it across the Screen, then play it as part of a Scene. Full explanations of the objects can be found in the docs.