[Python] Si vous créez un fichier avec le même nom que le module à importer, une erreur d'attribut se produira.

Je voulais juste vérifier le fonctionnement de la bibliothèque, mais j'y étais accro.

Par exemple, supposons que vous créez un fichier appelé json.py pour essayer le module json.

json.py


import json

obj = {
    "id" : 1,
    "name" : "hoge",
}

str = json.dumps(obj)
print(str)

Le code ne semble pas être un problème ...

Cela entraînera une erreur lors de l'exécution.

$ python3 json.py
...
AttributeError: module 'json' has no attribute 'dumps'

On dit que le module json n'a pas de vidage.

En effet, le nom du fichier lui-même est json, il a donc été chargé de préférence au module standard.

Par conséquent, le renommer résoudra le problème.

$ mv json.py json_test.py
$ python3 json_test.py
{"id": 1, "name": "hoge"}

Au fait, même si vous n'avez pas le nom de fichier json, vous pouvez obtenir le même résultat si json.py existe dans la même hiérarchie de répertoires.

Vous obtiendrez également le même résultat si vous avez un répertoire avec le même nom qui contient «__init __. Py».

$ 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'

Recommended Posts

[Python] Si vous créez un fichier avec le même nom que le module à importer, une erreur d'attribut se produira.
Que faire si vous obtenez l'erreur Le script WSGI cible '/ var / www / xxx / xxx.wsgi' ne peut pas être chargé en tant que module python
[Python] Vous pouvez enregistrer un objet dans un fichier en utilisant le module pickle.
Si vous voulez un singleton en python, considérez le module comme un singleton
L'histoire de la création d'un outil pour charger une image avec Python ⇒ l'enregistrer sous un autre nom
Que faire si vous obtenez une erreur lors de l'installation de python avec pyenv
Que faire si vous obtenez une erreur OpenSSL lors de l'installation de Python 2 avec pyenv
Que faire si vous exécutez python sur IntelliJ et quittez avec une erreur
Un mémo de fonction utile lorsque vous souhaitez entrer dans le débogueur si une erreur se produit lorsque vous exécutez un script Python.
[Python] Si vous souhaitez soudainement créer un formulaire de demande
[python] Remplacez le nom du fichier image par un numéro de série
Probablement le moyen le plus simple de créer un pdf avec Python 3
[Python Kivy] Comment créer un fichier exe avec pyinstaller
Créez un fichier audio avec la fonction de synthèse vocale de Google Text To Speak et vérifiez le texte comme guide de parole pendant 3 minutes.
Essayez de déchiffrer les caractères déformés dans le nom du fichier joint avec Python
Lors de l'accès à une URL contenant du japonais (URL japonais) avec python3 avec urllib, elle sera encodée arbitrairement avec html et une erreur se produira, alors notez la solution de contournement
[Python] Créez un programme qui supprime les sauts de ligne dans le presse-papiers + Enregistrez-vous comme raccourci avec Windows
Si vous supprimez la liste à mettre en boucle, vous deviendrez terrible.
Créez un script shell pour exécuter le fichier python plusieurs fois
Python vba pour créer une chaîne de date pour créer un nom de fichier
Obtenez la formule dans le fichier Excel sous forme de chaîne en Python
Créez un programme de jugement de compatibilité avec le module aléatoire de python.
Que faire si vous obtenez un avertissement "Mauvaise plateforme Python" lors de l'utilisation de Python avec l'EDI NetBeans
Que faire si vous ne parvenez pas à envoyer un e-mail à Yahoo avec Python.
Si vous souhaitez inclure awsebcli dans CircleCI, spécifiez la version de python
Vérifiez le nom du fichier si l'importation Python vous dit que vous ne pouvez pas
J'obtiens une erreur Python No module nommée'encodings 'avec la commande aws
Créer un enregistrement avec des pièces jointes dans KINTONE à l'aide du module de requêtes Python
Si vous obtenez une erreur sans attribut dans boto3, vérifiez la version
Que faire si vous obtenez l'erreur RuntimeError: Python n'est pas installé en tant que framework lorsque vous essayez d'utiliser matplitlib et pylab dans Python 3.3
Créez rapidement un fichier Excel avec Python #python
<Python> Un quiz pour convertir par lots les noms de fichiers séparés par une chaîne de caractères spécifique dans le cadre du nom de fichier
[Python] N'est-ce pas le plus élevé et le plus élevé si vous pouvez saisir les caractéristiques d'une entreprise avec nlplot?
[Python] Comment gérer l'erreur d'instance is "is instance () arg 2 doit être un type ou un tuple de types"
Que faire si une erreur se produit lorsque vous chargez un projet Python créé avec de la poésie dans VS Code
Solution de contournement si vous obtenez une erreur lors de la tentative d'installation de PySide avec pip
Si vous ajoutez sudo dans ubuntu, il sera appelé le python par défaut.
Vous serez ingénieur dans 100 jours - Jour 29 - Python - Bases du langage Python 5
Vous serez ingénieur dans 100 jours - Jour 33 - Python - Bases du langage Python 8
Vous serez ingénieur dans 100 jours --Jour 26 --Python --Basiques du langage Python 3
Vous devenez ingénieur en 100 jours - Jour 35 - Python - Ce que vous pouvez faire avec Python
Utilisez la commande [shell] pour compresser par zip n'importe quel fichier pour créer un fichier et supprimer le fichier d'origine.
Enregistrez le tableau numpy dans un fichier wav à l'aide du module wave
Vous serez ingénieur dans 100 jours --Jour 32 --Python --Basiques du langage Python 7
Installez la bibliothèque python lorsque vous n'êtes pas un sudoer (ou si vous ne voulez pas que les nouveaux utilisateurs soient Sudoer, mais cela ne vous dérange pas d'avoir la bibliothèque Python incluse)
Si une exception survient dans la fonction, elle sera transmise à l'appelant 2
[Python] J'ai essayé d'obtenir le nom du type sous forme de chaîne de caractères à partir de la fonction type
Si vous obtenez une longue erreur lors de la tabulation d'un shell interactif avec Anaconda
Si une exception survient dans la fonction, elle sera transmise à l'appelant 1
Vous serez ingénieur dans 100 jours --Jour 28 --Python --Les bases du langage Python 4
Comment obtenir une liste de fichiers dans le même répertoire avec python
Astuces Python: Une combinaison de enumerate () et zip (), vérifiant si une chaîne peut être convertie en nombre, triant la chaîne sous forme de nombre
Erreur lors de l'installation d'un module avec Python pip
Comment lire un fichier CSV avec Python 2/3
Comment créer un fichier JSON en Python
Si vous souhaitez créer Word Cloud.
Étapes pour créer un bot Twitter avec Python
Enregistrer l'objet dans un fichier avec pickle