python 3.0 open () кодировка по умолчанию

Я пытаюсь сосчитать строки в файле JSON.Нажмите ЗДЕСЬ, чтобы получить доступ к моему файлу JSON.

Я попытался использовать приведенный ниже код для подсчета строк.

input = open("json/world_bank.json")
i=0
for l in input:
    i+=1
print(i)

Но приведенный выше код вызывает ошибку UniCodeDecode, как показано ниже.

---------------------------------------------------------------------------
UnicodeDecodeError                        Traceback (most recent call last)
<ipython-input-17-edc88ade7225> in <module>()
      2 
      3 i=0
----> 4 for l in input:
      5     i+=1
      6 

C:\Users\Subbi Reddy\AppData\Local\Continuum\Anaconda3\lib\encodings\cp1252.py in decode(self, input, final)
     21 class IncrementalDecoder(codecs.IncrementalDecoder):
     22     def decode(self, input, final=False):
---> 23         return codecs.charmap_decode(input,self.errors,decoding_table)[0]
     24 
     25 class StreamWriter(Codec,codecs.StreamWriter):

UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 3979: character maps to <undefined>

Затем я включил параметр кодирования в открытую функцию, как показано ниже.

input = open("json/world_bank.json",encoding="utf8")

Тогда это начало работать и выдавать результат как 500.

Насколько я знаю, python open должен рассматривать "utf8" как кодировку по умолчанию.

Где я иду не так здесь.

Ответы на вопрос(1)

Ваш ответ на вопрос