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

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

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

    用法很简单:

    >>> import linecache
    >>> linecache.getline('/etc/passwd', 4)
    'sys:x:3:3:sys:/dev:/bin/sh\n'

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

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

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

    # 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学习网