Is 'file' a keyword in python?

28,654

Solution 1

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.

Solution 2

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!')
Share:
28,654
user3388884
Author by

user3388884

Updated on May 15, 2021

Comments

  • user3388884
    user3388884 about 3 years

    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.

  • Gustavo Bezerra
    Gustavo Bezerra over 7 years
    So is it ok to use file as a variable name if I plan to support Python 3 only?
  • Martijn Pieters
    Martijn Pieters over 7 years
    @GustavoBezerra absolutely!