用python读取文件中的单行

用python读取文件中的单行,python,Python,这是怎么回事?看起来我做得不错,但每次都是这样。我曾尝试将读线部分更改为读,但没有成功 这是我的密码: f = open("pg1062.txt","r").read() print f.readline(1) print f.readline(2) print f.readline(3) 以下是我得到的错误: print f.readline(1) AttributeError: 'str' object has no attribute 'readline' 这肯定是重复的。无论如何,

这是怎么回事?看起来我做得不错,但每次都是这样。我曾尝试将
读线
部分更改为
,但没有成功

这是我的密码:

f = open("pg1062.txt","r").read()
print f.readline(1)
print f.readline(2)
print f.readline(3)
以下是我得到的错误:

 print f.readline(1)
AttributeError: 'str' object has no attribute 'readline'

这肯定是重复的。无论如何,Python2.4之上的任何内容都应该使用
with

with open("pg1062.txt", "r") as fin:
    for line in fin:
        print(line)
如果您碰巧希望将它们列在列表中:

with open("pg1062.txt", "r") as fin:
    lines = [line for line in fin] # keeps newlines at the end
    lines = [line.rstrip() for line in fin] # deletes the newlines
或者或多或少相等

with open("pg1062.txt", "r") as fin:
    lines = fin.readlines() # keeps newlines at the end
    lines = fin.read().splitlines() # deletes the newlines

这肯定是重复的。无论如何,Python2.4之上的任何内容都应该使用
with

with open("pg1062.txt", "r") as fin:
    for line in fin:
        print(line)
如果您碰巧希望将它们列在列表中:

with open("pg1062.txt", "r") as fin:
    lines = [line for line in fin] # keeps newlines at the end
    lines = [line.rstrip() for line in fin] # deletes the newlines
或者或多或少相等

with open("pg1062.txt", "r") as fin:
    lines = fin.readlines() # keeps newlines at the end
    lines = fin.read().splitlines() # deletes the newlines

你的问题就在这条线上

f = open("pg1062.txt","r").read()
只要删除
.read()
,您的问题就会得到解决。您的最终代码应该如下所示

f = open("pg1062.txt","r")
print f.readline()
print f.readline()
print f.readline()
若要打印文本文件中的所有行,请参阅下面的代码

f = open("pg1062.txt","r")
for line in f:
    print line

你的问题就在这条线上

f = open("pg1062.txt","r").read()
只要删除
.read()
,您的问题就会得到解决。您的最终代码应该如下所示

f = open("pg1062.txt","r")
print f.readline()
print f.readline()
print f.readline()
若要打印文本文件中的所有行,请参阅下面的代码

f = open("pg1062.txt","r")
for line in f:
    print line

这将使用循环打印行

f = open("pg1062.txt", 'r')
while True:
    line = f.readline()
    if line == "":
        break
    print(line)
如果只想打印特定数量的行,请执行以下操作:

f = open("pg1062.txt", 'r')
count = 1
while count < 4:
    line = f.readline()
    if line == "":
        break
    print(line)
    count += 1
f=open(“pg1062.txt”,“r”)
计数=1
当计数小于4时:
line=f.readline()
如果行==“”:
打破
打印(行)
计数+=1

这使用循环打印行

f = open("pg1062.txt", 'r')
while True:
    line = f.readline()
    if line == "":
        break
    print(line)
如果只想打印特定数量的行,请执行以下操作:

f = open("pg1062.txt", 'r')
count = 1
while count < 4:
    line = f.readline()
    if line == "":
        break
    print(line)
    count += 1
f=open(“pg1062.txt”,“r”)
计数=1
当计数小于4时:
line=f.readline()
如果行==“”:
打破
打印(行)
计数+=1

您能显示您试图使用readline的确切代码吗?猜猜您认为
f
的类型是什么,然后运行REPL中的第一行以确定您是否正确。我知道,您的问题在第一行
f=open(“pg1062.txt”,“r”).read()
。只需删除最后一个
.read()
,它就会被修复。请参阅文章下面的最后一段代码。您能显示您尝试使用readline的确切代码吗?猜猜您认为
f
的类型是什么,然后运行REPL中的第一行以确定您是否正确。我知道,您的问题在第一行
f=open(“pg1062.txt”,“r”).read()
。只需删除最后一个
.read()
,它就会被修复。请参阅后文中的最终代码。它并没有真正打印整行代码。它基本上打印行的第一个字母Yes,因为f.readline(1)只打印第一个字符(正如您在代码中使用的那样)。若要打印整行,则需要从readline中删除参数。再次查看更新的示例,如果您打印文件中的所有行,它将与上面提到的内容不同。从你的问题中看不清楚你的意图是什么它并没有真正打印出整行内容。它基本上打印行的第一个字母Yes,因为f.readline(1)只打印第一个字符(正如您在代码中使用的那样)。若要打印整行,则需要从readline中删除参数。再次查看更新的示例,如果您打印文件中的所有行,它将与上面提到的内容不同。你的问题不清楚你打算干什么