问题描述
我对python中的代码有疑问。我想读取一个.txt文件。我使用代码:
f = open('test.txt','r') # We need to re-open the file
data = f.read()
print(data)
我只想读取此.txt文件的第一行。我用
f = open('test.txt','r') # We need to re-open the file
data = f.readline(1)
print(data)
您能帮我阅读该行的所有字母吗? (我的意思是阅读整个.txt文件的行)
解决方法
with open("file.txt") as f:
print(f.readline())
这将使用with
上下文块打开文件(当我们完成操作后,它将自动关闭文件),并读取第一行,与以下内容相同:
f = open(“file.txt”)
print(f.readline())
f.close()
您尝试使用f.readline(1)
将不起作用,因为该参数用于确定文件中要打印多少个字符,因此只会打印第一个字符。
第二种方法:
with open("file.txt") as f:
print(f.readlines()[0])
或者您也可以执行上述操作,这将获得行列表并仅打印第一行。
要阅读第五行,请使用
with open("file.txt") as f:
print(f.readlines()[4])
或者:
with open("file.txt") as f:
lines = []
lines += f.readline()
lines += f.readline()
lines += f.readline()
lines += f.readline()
lines += f.readline()
print(lines[-1])
-1
代表列表的最后一项
了解详情:
,您的第一次尝试快到了,您应该执行以下操作:
f = open('my_file.txt','r')
line = f.readline()
print(line)
f.close()
一种更安全的文件读取方法是:
with open('my_file.txt','r') as f:
print(f.readline())
两种方法都只会打印第一行。
您的错误是您将1
传递给readline
,这意味着您想要读取1的大小,该大小仅是一个字符。请参阅https://www.w3schools.com/python/ref_file_readline.asp
在您的建议下,我尝试了此方法,并且该方法有效:
f = open('test.txt','r')
data = f.readlines()[1]
print(data)
,
改为使用with open(...)
:
with open("test.txt") as file:
line = file.readline()
print(line)
,
保留.title
,不带参数。
它将以字符串形式返回第一行,并将光标移至第二行。
下次使用f.readline()
时,它将返回第二行并将光标移至下一行,依此类推...