Ich wollte nur den Betrieb der Bibliothek überprüfen, war aber süchtig danach.
Angenommen, Sie erstellen eine Datei mit dem Namen "json.py", um das json-Modul auszuprobieren.
json.py
import json
obj = {
"id" : 1,
"name" : "hoge",
}
str = json.dumps(obj)
print(str)
Der Code scheint kein Problem zu sein ...
Dies führt beim Ausführen zu einem Fehler.
$ python3 json.py
...
AttributeError: module 'json' has no attribute 'dumps'
Es wird gesagt, dass das JSON-Modul keine Dumps hat.
Dies liegt daran, dass der Dateiname selbst json ist und daher vor dem Standardmodul geladen wurde.
Daher wird das Problem durch Umbenennen gelöst.
$ mv json.py json_test.py
$ python3 json_test.py
{"id": 1, "name": "hoge"}
Übrigens, auch wenn Sie nicht den Dateinamen json haben, können Sie das gleiche Ergebnis erhalten, wenn json.py
in derselben Verzeichnishierarchie vorhanden ist.
Sie erhalten das gleiche Ergebnis auch, wenn Sie ein Verzeichnis mit demselben Namen haben, das "__init __. Py" enthält.
$ mkdir ./json
$ touch ./json/__init__.py
$ python3 json_test.py
Traceback (most recent call last):
File "json_test.py", line 8, in <module>
str = json.dumps(obj)
AttributeError: module 'json' has no attribute 'dumps'