从python中的文件逐行读取[重复]
Posted
技术标签:
【中文标题】从python中的文件逐行读取[重复]【英文标题】:Reading line by line from a file in python [duplicate] 【发布时间】:2018-01-26 02:42:17 【问题描述】:为了从这个文件中提取一些值:
我需要逐行阅读。 我试图先逐行阅读,但我不知道为什么它不起作用。
我试过了:
#! /usr/bin/python
file = open('/home/results/err.txt')
for line in file.readline():
print line
编辑:
问题:工作但不显示此行(这是文件)
它们的最后一行是:(这是生成的)
【问题讨论】:
readlines()
。注意's'。
用 readlines 替换 readline
如果还有其他不相关的问题,请将其作为单独的问题发布,而不是编辑此问题。还请包含文本而不是屏幕截图。
好的,我是新手
【参考方案1】:
您需要遍历文件而不是行:
#! /usr/bin/python
file = open('/home/results/err.txt')
for line in file:
print line
file.readline()
只读取第一行。当您迭代它时,您正在迭代该行中的字符。
【讨论】:
谢谢它解决了问题,但有另一个问题,我写在编辑中 @c.ceti,看起来你有不同的文件。行的内容完全不同。 其实是个长文件,第一张是开头,另一张是中间【参考方案2】:file.readline()
已经读取了一行。遍历该行会为您提供各个字符。
改为使用:
for line in file:
…
【讨论】:
谢谢它解决了问题,但有另一个问题,我写在编辑中【参考方案3】:试试这个:
#! /usr/bin/python
file = open('/home/results/err.txt')
for line in file.readlines():
print line
【讨论】:
file.readlines
将逐行读取文件
当你可以改进你的答案时为什么要评论?
没想到。我的坏:-)
谢谢它解决了问题,但有另一个问题,我写在编辑中
我没有遇到其他问题。【参考方案4】:
您可能希望使用上下文管理器在读取行后自动关闭打开的文件,以确保在 python 处理文件时不会发生意外。
with open('/home/results/err.txt', 'r') as file:
for line in file:
print line
readline()
会逐行读取您的文件,但对其进行迭代会单独打印这些字母。
【讨论】:
谢谢它解决了问题,但有另一个问题,我写在编辑中以上是关于从python中的文件逐行读取[重复]的主要内容,如果未能解决你的问题,请参考以下文章