Другой общий случай, когда можно получить это исключение, включает в себя насмешливые классы во время модульного тестирования. Независимо от используемой насмешливой структуры, вы должны убедиться, что все соответствующие уровни иерархии классов должным образом высмеиваются. В частности, все свойства HttpContext
, на которые ссылается тестируемый код, должны быть изделены.
См. « Исключение NullReferenceException при проверке пользовательского AuthorizationAttribute » для несколько подробного примера.
Очевидно, что файл слишком велик, чтобы его можно было сразу считывать в память.
Почему бы просто не использовать:
with open("data.txt") as myfile:
for line in myfile:
do_something(line.rstrip("\n"))
или, если вы не используете Python 2.6 и выше:
myfile = open("data.txt")
for line in myfile:
do_something(line.rstrip("\n"))
В обоих случаях вы получите итератор, который можно обрабатывать так же, как список строк.
EDIT: Поскольку ваш способ чтения всего файл в одну большую строку, а затем разделив его на строки новой строки, удалите новые строки в этом процессе, я добавил .rstrip("\n")
к моим примерам, чтобы лучше имитировать результат.
используйте этот код для чтения файла по строкам:
for line in open('data.txt'):
# work with line