码迷,mamicode.com
首页 > 其他好文 > 详细

sys.stdout.write与sys.sterr.write(二)

时间:2017-01-03 20:45:14      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:code   local   class   cal   roo   flush   err   工作   技术分享   

目标:

  1.使用sys.stdout.write模拟火车道轨迹变化过程

  2.使用sys.stderr.write模拟火车道轨迹变化过程

 

1.sys.stdout.write模拟火车道轨迹变化

代码如下:

[root@localhost python]# vim railway.py

[root@localhost python]# cat railway.py
#!/usr/bin/env python
#coding:utf8

import sys,time

width = 20
i = 0
while True:
    sys.stdout.write(%s%s%s\r %(# * i, a, # * (width - i)))
    i +=1
    sys.stdout.flush()
    time.sleep(0.2)
    if i > width:
        i = 0
    #打印出每行的过程,注释print会出现a字符从首字符跑到末尾,然后继续重复上面的工作,及模拟火车道的轨迹。
    print

?运行代码,测试效果

[root@localhost python]# python railway.py

a####################
#a###################
##a##################
###a#################
####a################
#####a###############
######a##############
#######a#############
########a############
#########a###########
##########a##########
###########a#########
############a########
#############a#######
##############a######
###############a#####
################a####
#################a###
##################a##
###################a#
####################a
a####################
#a###################
##a##################

*提示:代码中的print是为了打印上面每一步的变化过程,将print注释重新运行,就会看到a从头到尾不断变化(在一行之中),实现模拟火车道轨迹变化的过程。

 

2.sys.stderr.write模拟火车道轨迹变化(该代码注释了print)

代码如下:

[root@localhost python]# cat railway.py

#!/usr/bin/env python
#coding:utf8

import sys,time

width = 20
i = 0
while True:
    sys.stderr.write(%s%s%s\r %(# * i, a, # * (width - i)))
    i +=1
    time.sleep(0.2)
    if i > width:
        i = 0

?运行代码,测试效果

技术分享

 

sys.stdout.write与sys.sterr.write(二)

标签:code   local   class   cal   roo   flush   err   工作   技术分享   

原文地址:http://www.cnblogs.com/xkops/p/6245989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!