zoukankan      html  css  js  c++  java
  • linecache

    linecache是专门支持读取大文件,而且支持行式读取的函数库。 linecache 预先把文件读入缓存起来,后面如果你访问该文件的话就不再从硬盘读取。对于大文件的读取效率还不错

    Help on module linecache:
    
    NAME
        linecache - Cache lines from files.
    
    FILE
        /usr/local/lib/python2.7/linecache.py
    
    MODULE DOCS
        http://docs.python.org/library/linecache
    
    DESCRIPTION
        This is intended to read lines from modules imported -- hence if a filename
        is not found, it will look down the module search path for a file by
        that name.
    
    FUNCTIONS
        checkcache(filename=None)
            Discard cache entries that are out of date.
            (This is not checked upon each call!)
        
        clearcache()
            Clear the cache entirely.
        
        getline(filename, lineno, module_globals=None)
    
    DATA
        __all__ = ['getline', 'clearcache', 'checkcache']
    help(linecache)

    常用的方法:

    linecache.getlines(filename,)  #接收一个文件对象,返回一个列表,列表中的每个元素就是文件中的一行. 和readlines()一样
    linecache.getline(filename,lineno)  #接收一个文件对象和一个行数,返回指定行数对应的行内容
    >>> linecache.getlines('/etc/passwd')
    ['root:x:0:0:root:/root:/bin/bash
    ', 'bin:x:1:1:bin:/bin:/sbin/nologin
    ', 'daemon:x:2:2:daemon:/sbin:/sbin/nologin
    ', 'adm:x:3:4:adm:/var/adm:/sbin/nologin
    ', 'lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    ', 'sync:x:5:0:sync:/sbin:/bin/sync
    ', 'shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    ', 'halt:x:7:0:halt:/sbin:/sbin/halt
    ', 'mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    ', 'uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
    ', 'operator:x:11:0:operator:/root:/sbin/nologin
    ', 'games:x:12:100:games:/usr/games:/sbin/nologin
    ', 'gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
    ', 'ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    ', 'nobody:x:99:99:Nobody:/:/sbin/nologin
    ', 'dbus:x:81:81:System message bus:/:/sbin/nologin
    ', 'vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
    ', 'abrt:x:173:173::/etc/abrt:/sbin/nologin
    ', 'haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
    ', 'ntp:x:38:38::/etc/ntp:/sbin/nologin
    ', 'saslauth:x:499:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
    ', 'postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    ', 'sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    ', 'tcpdump:x:72:72::/:/sbin/nologin
    ', 'ansibletest:x:500:500::/home/ansibletest:/bin/bash
    ', 'mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
    ', 'zabbix:x:498:499:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
    ', 'apache:x:48:48:Apache:/var/www:/sbin/nologin
    ', 'elasticsearch:x:497:498:elasticsearch user:/home/elasticsearch:/sbin/nologin
    ', 'redis:x:496:497:Redis Server:/var/lib/redis:/sbin/nologin
    ', 'pythons:x:501:501::/home/pythons:/bin/bash
    ']
    linecache.getlines() 
    >>> linecache.getline('/etc/passwd',10)
    'uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
    '
    >>> linecache.getline('/etc/passwd',5)
    'lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    '
    linecache.getline()
  • 相关阅读:
    Python 中的map函数,filter函数,reduce函数
    编程中,static的用法详解
    C++ list容器系列功能函数详解
    python中的configparser类
    310实验室OTL问题----将写好的C++文件转换成Python文件,并将数据可视化
    310实验室OTL问题
    常量指针、指针常量、指向常量的指针常量
    Iterator迭代器的相关问题
    struts2中action中的通配符
    struts2访问servlet API
  • 原文地址:https://www.cnblogs.com/huangweimin/p/5814232.html
Copyright © 2011-2022 走看看