我如何使用它,但我注意到如果我不使用读取,那么它可以吐出不同的东西。
使用文本文件时可以吐出<_io.TextIOWrapper name='story.txt' mode='r' encoding='UTF-8'>
。
从urllib使用urlopen时,它也可以返回<http.client.HTTPResponse object at 0x76521550>
。
这些东西意味着什么以及.read()实际上做了什么?
答案 0 :(得分:2)
这些是具有.read()
方法的“类文件对象”,您将看到对象的repr()
,这是一个描述字符串。当你调用.read()
时,它会从对象中读取完整的内容,通常是字节或Unicode字符串。
一个小的自定义示例:
class Demo:
def __repr__(self):
return '<My Custom Description>'
def read(self):
return 'some stuff'
x = Demo()
print(x)
print(x.read())
输出:
<My Custom Description>
some stuff