Kev*_*uan 11 python python-3.x
我有以下代码:
with open(True, 'w') as f: f.write('Hello')
为什么此代码打印文本Hello而不是引发错误?
Hello
Tig*_*kT3 10
从内置函数文档open():
open()
open(file, mode='r', buffering=-1... file是字符串或字节对象,给出要打开的文件的路径名(绝对或相对于当前工作目录)或要包装的文件的整数文件描述符
open(file, mode='r', buffering=-1...
os模块文档中进一步描述了"整数文件描述符" :
os
例如,标准输入通常是文件描述符0,标准输出是1,标准错误是2.然后,进程打开的其他文件将分配3,4,5等.
由于布尔是一个int亚类中,False可以互换使用0,并True用1.因此,打开文件描述符与打开文件描述符True相同1,后者将选择标准输出.
int
False
0
True
1
归档时间:
10 年,4 月 前
查看次数:
151 次
最近记录:
10 年,1 月 前