Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Необходимо всегда использовать open()
.
Как документация состояния:
При открытии файла, предпочтительно использовать открытый () вместо того, чтобы вызвать этого конструктора непосредственно. файл больше подходит для сертификационного испытания (например, пишущий "isinstance (f, файл)").
кроме того, file()
был удален начиная с Python 3.0.
file()
тип, как интервал или список. open()
функция для вводных файлов и возвратится file
объект.
Это - пример того, когда необходимо использовать открытый:
f = open(filename, 'r')
for line in f:
process(line)
f.close()
Это - пример того, когда необходимо использовать файл:
class LoggingFile(file):
def write(self, data):
sys.stderr.write("Wrote %d bytes\n" % len(data))
super(LoggingFile, self).write(data)
, Как Вы видите, существует серьезное основание и для существовать, и для ясный пример использования для обоих.
Функционально, эти два являются тем же; open
будет звонить file
так или иначе, поэтому в настоящее время различием является вопрос стиля. документы Python рекомендуют использовать open
.
При открытии файла, предпочтительно использовать открытый () вместо того, чтобы вызвать конструктора файла непосредственно.
причина состоит в том, что в будущих версиях они, как гарантируют, не будут тем же (open
, станет функцией фабрики, которая возвращает объекты различных типов в зависимости от пути, который оно открывает).
Две причины: философия Python "Должна быть одним способом сделать, это" и file
уходит.
file
фактический тип (использование, например, file('myfile.txt')
вызывает его конструктора). open
функция фабрики, которая возвратит объект файла.
В python 3.0 file
собирается переместиться от того, чтобы быть встроенным к тому, чтобы быть реализованным несколькими классами в io
библиотека (несколько подобный Java с буферизированными читателями, и т.д.)
Только когда-либо используйте открытый () для вводных файлов. файл () на самом деле удаляется в 3,0, и он удерживается от использования в данный момент. У них были своего рода странные отношения, но файл () идет теперь, таким образом, нет никакой потребности больше волноваться.
следующее из документов Python 2.6. [материал скобки] добавленный мной.
При открытии файла, it’s предпочтительный для открытого использования () вместо того, чтобы вызвать это [файл ()] конструктор непосредственно. файл больше подходит для сертификационного испытания (например, пишущий isinstance (f, файл)
По словам г-на Van Rossum, хотя открытый () в настоящее время псевдоним для файла () необходимо использовать открытый (), потому что это могло бы измениться в будущем.