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()