将文件作为参数传递并存储到对象引用对于open()函数来说非常简单易懂,但是read()函数不接受参数,而是使用格式文件。 ()代替。为什么read函数不将文件作为参数,例如read(in_file),为什么不将其包含在内置函数的Python标准库中?
我已经检查了标准库https://docs.python.org/3/library/functions.html#open
中的内置函数列表# calls the open function passing from_file argument and storing to in_file object reference
in_file = open(from_file)
# why is this not written as read(in_file) instead?
in_data = in_file.read()
答案 0 :(得分:4)
这里不包含它,因为它不是函数,它是对象的方法,该对象公开了面向文件的API,在这种情况下,{{ 1}}。
答案 1 :(得分:0)
因为您有in_file = open(from_file)
的文件引用,所以当您这样做时
in_file.read()
是您在引用本身上调用read,它等效于self
,这意味着在这种情况下该对象是文件对象