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!')
Author by
user3388884
Updated on May 15, 2021Comments
-
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 over 7 yearsSo is it ok to use
file
as a variable name if I plan to support Python 3 only? -
Martijn Pieters over 7 years@GustavoBezerra absolutely!