[David LeBlanc] > I don't have the capability to open an SF bug report. It's not restricted -- anyone can open a bug report. You need a web browser and an internet connection, of course. > "isatty" is not documented at all under the Global Modules "sys" entry for > Python 2.2.1 documentation No, but why would it be? I gave you a link to the current docs before: http://www.python.org/doc/current/lib/bltin-file-objects.html Go there and search down for isatty. In 2.2.1, the link is this instead: http://www.python.org/doc/2.2.1/lib/bltin-file-objects.html > (sorry, I thought "PythonDoc" was a recognized > name). The following doesn't work: > J:\>python > Python 2.2.1 (#34, Jul 16 2002, 16:25:42) [MSC 32 bit (Intel)] on win32 > Type "help", "copyright", "credits" or "license" for more information. > >>> stdout.isatty() > Traceback (most recent call last): > File "<stdin>", line 1, in ? > NameError: name 'stdout' is not defined I showed concrete examples in the last msg. stdout lives in sys, as was shown there: >>> import sys >>> sys.stdout.isatty() True >>> That's in 2.3. I don't have 2.2.1. Here's under 2.0: >>> import sys >>> sys.stdout.isatty() 64 >>> > >>> isatty(stdout) > Traceback (most recent call last): > File "<stdin>", line 1, in ? > NameError: name 'isatty' is not defined > >>> isatty(__stdout__) > Traceback (most recent call last): > File "<stdin>", line 1, in ? > NameError: name 'isatty' is not defined > >>> import os > >>> os.stdout.isatty() > Traceback (most recent call last): > File "<stdin>", line 1, in ? > AttributeError: 'module' object has no attribute 'stdout' > >>> Please read the docs -- there's no reason to expect any of those to work. > Is isatty a built-in, No. > a function of os only available on Unix, No, although os.isatty exists on some platforms. fileobject.isatty() exists on all platforms. > or a function of sys available on all platforms? It's not in sys on any platform. > It appears to be a function in the sys module and so the doc for it should > go there? Nope, isatty() is never in sys. It's primarily a *method* on file objects, as all the examples I've given have used. sys.stdin and sys.stdout are file objects. > Under the "os" entry it's: > "isatty(fd) > Return 1 if the file descriptor fd is open and connected to a tty(-like) > device, else 0. Availability: Unix. " > > I don't see how to create a file() that is connected to stdout without > importing sys...? Is there a way? If there is not, than file.isatty() is > moot. Sorry, I don't understand the question. > So, really, what is the meaning of "64" as the return from > sys.stdout.isatty()? Before Python 2.3, it's simply the value Microsoft's isatty() function returned. Python 2.3 translates it to a bool. Microsoft's docs say: _isatty returns a nonzero value handle is associated with a character device. Otherwise, _isatty returns 0. The grammar errors are copied verbatim from their docs, BTW -- telling me that didn't make sense won't help you <wink>.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4