sys.stdout.write与sys.sterr.write
Posted 韩德田Tivens
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sys.stdout.write与sys.sterr.write相关的知识,希望对你有一定的参考价值。
目标:
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的主要内容,如果未能解决你的问题,请参考以下文章
[Python]sys.stdin.readline(), sys.stdout.write(), sys.stdin.write()