Модуль Python json не имеет атрибута "немой" - PullRequest
0 голосов
/ 04 мая 2019

У меня сейчас проблема, когда я получаю сообщение об ошибке при попытке использовать тупую функцию из модуля json.

Моя функция, которая выдает ошибку:

def writeToLocalJson(data):
    with open(DOWNLOAD_LIST_FILE, 'w+', encoding='utf-8') as outputFile:
        json.dumb(data, outputFile, sort_keys=True, indent=4)
        outputFile.close()

Ошибка:

Exception has occurred: AttributeError
module 'json' has no attribute 'dumb'
  File "C:\Users\kevod\Documents\Projekte\Git\downloadListe\testing.py", line 3, in <module>
    json.dumb()
  File "C:\Users\kevod\AppData\Local\Programs\Python\Python37\Lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\kevod\AppData\Local\Programs\Python\Python37\Lib\runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "C:\Users\kevod\AppData\Local\Programs\Python\Python37\Lib\runpy.py", line 263, in run_path
    pkg_name=pkg_name, script_name=fname)

Интересно, что в другой функции я использую функцию загрузки из модуля json, и она работает правильно. После поиска в течение некоторого времени я нашел решения только там, где был другой файл с именем json.py, который был импортирован неправильно, но здесь это не так. Если я бегу dir(json) Я получаю:

00:'JSONDecodeError'
01:'JSONDecoder'
02:'JSONEncoder'
03:'__all__'
04:'__author__'
05:'__builtins__'
06:'__cached__'
07:'__doc__'
08:'__file__'

Бег json.__file__ Я получаю:

C:\\Users\\MYUSER\\AppData\\Local\\Programs\\Python\\Python37\\lib\\json\\__init__.py

1 Ответ

2 голосов
/ 04 мая 2019

Функция называется dump, а не dumB *, вот и вся проблема, как мне кажется. Так что, если правильно, это будет

def writeToLocalJson(data):
    with open(DOWNLOAD_LIST_FILE, 'w+', encoding='utf-8') as outputFile:
        json.dump(data, outputFile, sort_keys=True, indent=4)
        outputFile.close()
...