【问题标题】:Python 3: working with filesPython 3:处理文件
【发布时间】:2012-09-23 15:16:08
【问题描述】:

我在我的教科书中读到一个文件对象有一个 readlines 方法,它将整个文件加载到一个字符串列表中:

>>> f = open('script1.py')
>>> lines = f.readlines()
>>> lines

结果

['import sys\n', 'print(sys path)\n', 'x = 2\n', 'print(2**33)\n']

当我分析我阅读的内容时,我总是喜欢查阅文档。但是我遇到了我的滑铁卢,试图在文档中找到这个?你能帮帮我吗?

【问题讨论】:

  • 文件 API、二进制字符串等...在 v3 中更改。坚持使用 Python v2.x 并不少见...
  • 大多数时候,而不是使用readlines,您应该只遍历文件。我会得到一本更好的教科书;)

标签: python file-io python-3.x


【解决方案1】:

open() 的文档描述了它可能返回的值以及在什么条件下,并带有指向其文档的链接。特别是.readlines() 方法在common base class io.IOBase 的文档中有所描述。

我使用 google 或 the search field in the docshelp(f.readlines)(或类似的工具,例如 bpython 中的自动工具提示)。

【讨论】:

    【解决方案2】:

    help(f)help(f.readlines) 会帮助您。但是,readlines() 几乎已被弃用且不推荐使用,尤其是当文件很大时。

    如果要遍历文件,可以使用:

    for line in f: process(line)
    

    如果你想处理整个文件,只需使用:

    all_the_text = open('script1.py').read()
    

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 2017-06-18
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多