【问题标题】:How do I read a text file into a string variable in Python starting at the second line? [closed]如何从第二行开始将文本文件读入 Python 中的字符串变量? [关闭]
【发布时间】:2015-06-11 16:53:25
【问题描述】:

我使用以下代码段在python中读取文件

file = open("test.txt", "rb")
data=file.readlines()[1:]
file.close
print data

但是,我需要将整个文件(除了第一行)作为字符串读入变量data

事实上,当我的文件内容为 test test test 时,我的变量包含列表 ['testtesttest']。

如何将文件读入字符串?

我在 Windows 7 上使用 python 2.7。

【问题讨论】:

  • test test test 是否存在于一行中?
  • "如何将文件读入列表?"您已经这样做了:“我的变量包含列表 ['testtesttest']” 那么问题是什么?
  • 另外,那是你的真实代码吗?它给了我一个 SyntaxError。
  • 看起来 I/O 已经中途转换为使用 with..as 构造。
  • “将整个文件(除了第一行)作为字符串读取”/“将文件读取到列表中”——这些似乎不兼容。

标签: python string list python-2.7 readfile


【解决方案1】:

解决方案非常简单。您只需要像这样使用 with ... as 构造,从第 2 行开始读取,然后将返回的列表连接成一个字符串。在这个特定的例子中,我使用"" 作为连接分隔符,但你可以使用任何你喜欢的东西。

with open("/path/to/myfile.txt", "rb") as myfile:
     data_to_read = "".join(myfile.readlines()[1:])
     ...

使用with ... as 构造的优点是文件被显式关闭,您无需调用myfile.close()

【讨论】:

  • with 构造当然是可取的,但我看不出它如何使 OP 的代码做任何不同的事情。
  • @TigerhawkT3 我认为 OP 出于某种原因感到困惑。他的问题是询问除了第一行之外如何读取文件内容,这就是上面的示例所做的。
  • 我更新并修复了我的问题。我需要变量包含一个字符串。此外,readlines() 的问题在于它给了我一个列表而不是一个字符串。
  • 请忽略strip() 声明。它不应该是代码的一部分。
  • @PseudonymEnigma 你想在字符串中文件的每一行之后换行吗?
猜你喜欢
  • 1970-01-01
  • 2017-03-01
  • 2013-08-27
  • 1970-01-01
  • 1970-01-01
  • 2013-03-28
  • 2012-01-12
相关资源
最近更新 更多