首页 > 解决方案 > Python json 模块没有属性“哑”

问题描述

我目前遇到一个问题,当我尝试使用 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 模块中的 load 函数的另一个函数中,它可以正常工作。在搜索了一段时间后,我只找到了另一个名为 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

标签: pythonjsonmodule

解决方案


函数称为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()

推荐阅读