Is 'file' a keyword in python?

Question:

Is file a keyword in python?

I’ve seen some code using the keyword file just fine, while others have suggested not to use it and my editor is color coding it as a keyword.

Asked By: user3388884

||

Answers:

No, file is not a keyword:

>>> import keyword
>>> keyword.iskeyword('file')
False

The name is not present in Python 3. In Python 2, file is a built-in:

>>> import __builtin__, sys
>>> hasattr(__builtin__, 'file')
True
>>> sys.version_info[:2]
(2, 7)

It can be seen as an alias for open(), but it was removed in Python 3, where the new io framework replaced it. Technically, it is the type of object returned by the Python 2 open() function.

Answered By: Martijn Pieters

file is neither a keyword nor a builtin in Python 3.

>>> import keyword
>>> 'file' in keyword.kwlist
False
>>> import builtins
>>> 'file' in dir(builtins)
False

file is also used as variable example from Python 3 doc.

with open('spam.txt', 'w') as file:
    file.write('Spam and eggs!')
Answered By: northtree
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.