【背景】
環境: RHEL 7.3
版本: python2.7
【錯誤情況】
寫了一個簡單的python腳本 將dict轉換為json
腳本如下:
#!/usr/bin/python #-*- coding:utf-8 -*- import json name = 'jack' age= 28 student_dict = {name:age} print json.dumps(obj=student_dict)
執行后報錯:
Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'dumps'
【排查】
1. 進入python解釋器,查看是否存在json模塊
# python >>> import json >>>
==> 沒有報錯,證明存在此模塊
2. 測試是否存在dumps模塊並且可用
==> 可用
3. 網絡查找:
原來是因為我的腳本命名為json.py, python誤認為是json模塊的源代碼。
本來我要去 json.py找dumps方法,但是現在自己變成了json.py,並且自己也沒有定義dumps方法,自然就無法找到了
【總結】
解析json數據時,不要將腳本命名為json.py 或是 simplejson.py
要多了解底層腳本的命名,以免再出現此處的誤會
問題查找結果地址:https://stackoverflow.com/questions/11369734/python-json-module-has-no-attribute-dumps