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

180112 打字效果

时间:2018-01-12 19:40:53      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:参数   个数   post   一个个   write   设定   打开   它的   style   

import sys,time #导入模块 sys模块,time模块

f = open("老子",r,encoding="utf-8") #打开文件 同一个目录里的名为“老子”的文件,打开为读取,用utf-8方式

for line in f:  #循环读取刚刚打开的f的行line; for...in... 循环 ;for..in语句是个循环语句,它迭代一个对象的序列,现在,你需要知道的是一个序列只是一个有序的项目的集合。
    for i in line: #循环读取文字;读取上一行读取的行line里的每个文字,生成列表i
 sys.stdout.write(i) #标准输出 这就是导入sys模块的原因,用到其中的stdout.write,后面跟上(i)——标准输出上一行的文字列表i
sys.stdout.flush() #刷新 这是间隔一段时间刷新的意思,sys.stdout .flush ...

time.sleep(0.1) #输出时间控制 再次看到time模块的.sleep ,参数设定为(0.1)秒

一直希望有动态打字效果,横向的一个个的打出来

问了几个人,都不知道。只告诉我竖向的。

后来终于找到了。

现在详细的解析一下代码含义

 

for循环然后遍历这个范围

 for line in f :

遍历f的每一行line,生成新的list,line for line in ...是为了对遍历的每一行做处理的,比如
[line.strip() for line in file()] 这样生成的list中的每一个line都是经过了strip操作的,或者我要取每一行的前面几个字符就是 [line[:3] for line in file()],只不过你这个地方是没有做任何处理。

for循环然后遍历这个范围,for i in range(1,5)相当于 for i in [1, 2, 3, 4],这就像把序列中的每一个数(或对象)分配给i,一次一个,然后为每个i值执行该语句块。在本例中,在语句块中我们只是打印它的值。

同样的:for i in line

 

sys模块的sys.stdout  —— write()  ; flush()

 

最后,time.sleep()

180112 打字效果

标签:参数   个数   post   一个个   write   设定   打开   它的   style   

原文地址:https://www.cnblogs.com/cputn/p/8277318.html

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