我假设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
我想这两个都应该是真的,因为我读的东西都没有大小。一个好的解释会有帮助。谢谢
read()
返回包含文件完整内容的字符串。readlines()
返回文件内容的列表让我们看一个例子:
test_list = ['abc', 'png start', 'temp']
test_str = ['abc png start temp']
如果您要测试
png
是否在列表中,您将得到False
,因为它将尝试在列表的元素中找到这样的元素作为一个整体。若您尝试检查png start
是否在列表中,您将得到True
。但是对于test_str
,在这两种情况下,您将得到True
read()
返回包含文件内容的字符串readlines()
返回文件中所有行的列表更多:
相关问题 更多 >
编程相关推荐