read()和readline()的确切区别是什么?

2024-09-27 23:27:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我假设read()确实将文件作为字符串读取,而readline()逐行读取文件。这两个方法有一个size位置参数,默认为-1(读取所有内容)。现在我的问题开始了,x.read() == x. readlines()不是因为两者都默认为-1,可以读取所有内容吗

这是我的密码:

with open('some_file.png') as my_file:
    check = my_file.read()
     print(b'\x89PNG\r\n\x1a\n' in check) #all PNG files has the byte string. #This returned True
   check = my_file.readlines()
    print(b'\x89PNG\r\n\x1a\n' in check) #this one returned False 

我想这两个都应该是真的,因为我读的东西都没有大小。一个好的解释会有帮助。谢谢


Tags: 文件方法字符串in内容readreadlinemy
2条回答

read()返回包含文件完整内容的字符串。 readlines()返回文件内容的列表

让我们看一个例子:

test_list = ['abc', 'png start', 'temp']

test_str = ['abc png start temp']

如果您要测试png是否在列表中,您将得到False,因为它将尝试在列表的元素中找到这样的元素作为一个整体。若您尝试检查png start是否在列表中,您将得到True。但是对于test_str,在这两种情况下,您将得到True

read()返回包含文件内容的字符串

readlines()返回文件中所有行的列表

更多:

相关问题 更多 >

    热门问题