• 技术文章 >Python技术 >Python基础教程

    怎么通过Python获取文件指定行的内容?

    PythonPython2019-06-18 10:18:48原创3056
    linecache, 可以用它方便地获取某一文件某一行的内容。而且它也被 traceback 模块用来获取相关源码信息来展示。

    用法很简单:

    1

    2

    3

    >>> import linecache

    >>> linecache.getline('/etc/passwd', 4)

    'sys:x:3:3:sys:/dev:/bin/sh\n'

    linecache.getline 第一参数是文件名,第二个参数是行编号。如果文件名不能直接找到的话,会从 sys.path 里找。

    如果请求的行数超过文件行数,函数不会报错,而是返回''空字符串。

    如果文件不存在,函数也不会报错,也返回''空字符串。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    # Python的标准库linecache模块非常适合这个任务

    import linecache

    the_line = linecache.getline('d:/FreakOut.cpp', 222)

    print (the_line)

    # linecache读取并缓存文件中所有的文本,

    # 若文件很大,而只读一行,则效率低下。

    # 可显示使用循环, 注意enumerate从0开始计数,而line_number从1开始

    def getline(the_file_path, line_number):

      if line_number < 1:

        return ''

      for cur_line_number, line in enumerate(open(the_file_path, 'rU')):

        if cur_line_number == line_number-1:

          return line

      return ''

    the_line = linecache.getline('d:/FreakOut.cpp', 222)

    print (the_line)

    专题推荐:python
    上一篇:Python中的center()是怎么用的 下一篇:Python能实现栈的结构吗

    相关文章推荐

    • 用Python举例实现逆波兰表达式• Python解析nginx日志示例• Python中的多态怎么理解?• 利用Python的Matplotlib库进行数据可视化

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网