• 180112 打字效果


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

  • 相关阅读:
    算法导论--平摊分析之聚集分析
    编译器开发系列--Ocelot语言3.类型名称的消解
    编译器开发系列--Ocelot语言2.变量引用的消解
    编译器开发系列--Ocelot语言1.抽象语法树
    算法导论--散列表的数学分析(精解)链表法
    Linux2.6内核协议栈系列--TCP协议2.接收
    日常‘说说’(回归 原森雨)
    那些玩枪战我特别想听到的声音!
    友链!
    晚安背后的秘密
  • 原文地址:https://www.cnblogs.com/cputn/p/8277318.html
Copyright © 2020-2023  润新知