当前位置: 首页 > 面试题库 >

使用Python从文本文件读取的行中的末行字符

单琛
2023-03-14
问题内容

使用python从文本文件中读取行时,通常需要在处理文本之前截断末尾字符,如以下示例所示:

f = open("myFile.txt", "r")
for line in f:
    line = line[:-1]
    # do something with line

是否有一种优雅的方式或习惯用法来检索没有结束符的文本行?


问题答案:

惯用 方式在Python做,这是使用 rstrip(“\ n”)

for line in open('myfile.txt'):  # opened in text-mode; all EOLs are converted to '\n'
    line = line.rstrip('\n')
    process(line)

其他每个选项都有一个陷阱:

  • file(’…’)。read()。splitlines() 必须立即将整个文件加载到内存中。
  • *如果最后一行没有EOL,则 *line = line [:-1] 将失败。


 类似资料:
  • 问题内容: 使用python从gz压缩的文本文件中读取一行很容易,而无需完全提取该文件?我有一个大约200mb的text.gz文件。当我提取它时,它变成7.4gb。这不是我必须阅读的唯一文件。对于整个过程,我必须读取10个文件。尽管这将是一个顺序的工作,但我认为在不影响全部信息的情况下做到这一点将是明智之举。我什至不知道有可能。如何使用python完成?我需要逐行阅读文本文件。 问题答案: 您是否

  • 问题内容: 我有一个很大的文本文件,但是没有换行符。它只包含一个很长的字符串(包含所有ASCII字符的1行巨大的字符串),但是到目前为止一切正常,因为我可以将整行读入Java的内存中,但是我想知道是否有内存由于文件变得如此之大(如5GB +),并且程序无法一次将整个文件读入内存,因此出现泄漏问题,那么在那种情况下,读取此类文件的最佳方法是什么?我们可以将巨大的线条分成2个部分,甚至多个块吗? 这是

  • 问题内容: 我不是在谈论特定的行号,因为我正在读取具有相同格式但长度不同的多个文件。 说我有这个文本文件: 我希望你知道我的意思。我正在考虑遍历文件,然后使用正则表达式搜索以找到“开始”和“结束”的行号,然后使用线缓存从开始行读取到结束行。但是如何获得行号?我可以使用什么功能? 问题答案: 如果您只想要和之间的文本块,则可以执行以下操作: 实际上,您不需要操纵行号即可读取开始和结束标记之间的数据。

  • 问题内容: 有什么方法可以从文本文件中读取特定行?在API或Apache Commons中。就像是 : 我同意实现起来很简单,但是特别是当文件很大时,效率不是很高。 问题答案: 可以,但是仍然存在效率问题。 或者,您可以使用: 由于有缓冲,这将稍微更有效。 看一下并尝试跳过整行(使用正则表达式)。我无法确定它是否会更有效- 对其进行基准测试。 PS 代表 效率, 我的意思是 记忆效率

  • 问题内容: 我有一个CSV文件,下面是其外观示例: 我知道如何读取文件并打印每列(例如- )。但是我真正想做的是读取行,就像这样,然后依此类推。 然后,我想将这些数字存储到变量中,以便稍后将它们总计(例如): 。那我可以做。 我将如何在Python 3中做到这一点? 问题答案: 您可以执行以下操作: 要么 : 编辑: