[issue45327] Reading from a file is stuck infinitely when the file name is Boolean

2021-09-30 Thread Vinayak Hosamani


Vinayak Hosamani  added the comment:

Thanks for the clarification Eric.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45327] Reading from a file is stuck infinitely when the file name is Boolean

2021-09-30 Thread Eric V. Smith


Eric V. Smith  added the comment:

The issue is that False is causing a read from stdin, since False == 0.

>>> open(0).readlines()
test
['test\n']

Here I typed "test", followed by Ctrl-D (end of file). readlines() then 
completed and printed its result.

I think the basic answer here is "don't do this". It's not a bug, and is 
documented.

https://docs.python.org/3/library/functions.html#open
says:
file is a path-like 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.

So an integer file descriptor False is causing stdin to be wrapped.

>>> False == 0
True
>>> isinstance(False, int)
True

--
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45327] Reading from a file is stuck infinitely when the file name is Boolean

2021-09-30 Thread Eric V. Smith


Change by Eric V. Smith :


--
components: +Interpreter Core -Library (Lib)
title: json loads is stuck infinitely when the file name is Boolean -> Reading 
from a file is stuck infinitely when the file name is Boolean
type:  -> behavior

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com