gpt4 book ai didi

python - 为什么 open(True, 'w' ) 会像 sys.stdout.write 一样打印文本?

转载 作者:太空狗 更新时间:2023-10-29 18:05:20 25 4
gpt4 key购买 nike

我有以下代码:

with open(True, 'w') as f:
f.write('Hello')

为什么此代码打印文本 Hello 而不是引发错误?

最佳答案

来自built-in function documentation on open() :

open(file, mode='r', buffering=-1... file is either a string or bytes object giving the pathname (absolute or relative to the current working directory) of the file to be opened or an integer file descriptor of the file to be wrapped

os module documentation 中进一步描述了“整数文件描述符” :

For example, standard input is usually file descriptor 0, standard output is 1, and standard error is 2. Further files opened by a process will then be assigned 3, 4, 5, and so forth.

因为 bool 值是 int 的子类,False 可以与 0True 互换使用>1。因此,打开一个True的文件描述符与打开一个1的文件描述符是一样的,都会选择标准输出。

关于python - 为什么 open(True, 'w' ) 会像 sys.stdout.write 一样打印文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32841090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com