【问题标题】:readlines() not working in Jupyter Notebookreadlines() 在 Jupyter Notebook 中不起作用
【发布时间】:2020-06-04 21:20:19
【问题描述】:

新手级 Python 学习者,正在使用 Jupyter Notebook 使用新下载的 Python 3.8 安装 macos Catalina。

readlines() 返回所有带有 \n 的一行,分隔符而不是单独的行。

foo = open('foo.txt')
foo.seek(0)
foo.readlines()

返回:

['Something on line 1.\n', 'Something on line 2.\n', 'Something on line 3.']

foo.txt 文件如下所示:

Something on line 1.
Something on line 2.
Something on line 3.

我认为这不是预期的行为是否正确?我在这里找不到类似的查询。谢谢。

编辑 - 这是它在教程中的 Jupyter Notebook 中的显示方式。也许这是一个笔记本设置?

【问题讨论】:

  • 输出不是“带有\n 分隔符的一行”,它是一个包含 3 个字符串的列表,每个字符串都是您的一行。注意引号。
  • 图片中的输出与文本中的输出完全相同:3 行的列表。 Jupyter 尝试以一种比 REPL 通过逐行打印列表项“更漂亮”的方式打印列表,仅此而已。

标签: python macos jupyter-notebook macos-catalina


【解决方案1】:

我认为这不是预期的行为是否正确?

不,这是任何 python 编辑器都应该发生的事情。

readlines() 返回所有带有 \n 的一行,分隔符而不是单独的行。

如果你想要多行,只需这样做:

foo = open('foo.txt')
foo.seek(0)
foo.read()

【讨论】:

  • 啊现在我看到它一个列表。我很困惑,因为它出现在一行上,而教程人员的列表由回车分隔。我不确定为什么会这样。我会在问题中放一张照片。
猜你喜欢
  • 2017-06-12
  • 1970-01-01
  • 2018-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多