Ich habe Probleme ein Wörterbuch aus einer anderen Datei importieren (ich verwende Python 2,7)Python: nicht Wörterbuch aus einer anderen Datei importiert
# src/config/config_bankheist.py
bankheist_config = {
###############################
# SECTION 1 : ENTERY OF HEIST #
###############################
'activation_command': '!bankheist',
(...) # More key/values here
} # End of bankheist_config
Und wenn ich versuche, es in der Haupt-Datei zu importieren, wo es wird benutzt:
#src/lib/commands/bankheist.py
import string
from src.lib.timers import InfiniteTimer
import src.lib.irc as irc_
from src.config.config import config
from src.config.config_bankheist import bankheist_config as bankheist
def check_init_status():
try:
return bankheist['init_status']
except KeyError:
bankheist['init_status'] = False
return False
Also hier versuche ich, den Wert durch den Schlüssel 'init_status' zurückzugeben. Das erste Mal wird es den Schlüssel nicht finden, da Bankhost noch nicht initiiert ist ... Also normalerweise würde ich einen KeyError nicht gefunden finden. Stattdessen erhalte ich eine TypeError: 'Funktion' Objekt hat kein Attribut '__ getitem __'.
Ich habe versucht, den init_status Schlüssel zum Wörterbuch hinzufügen und initialisieren es auf False, ich habe sogar versucht, zu importieren ist als eine globale Variable (sagen, dass es global in der Konfigurationsdatei ist, und global auf der Methode definieren), versuchte ich setze die bankhiest_config als bankhiest in die selbe Datei, und es funktioniert immer noch nicht ..
Ich habe etwas ähnliches mit config_command.py (gleicher Ordner wie config_bankheist.py) und commands.py (gleicher Ordner wie bankheist.py) und das funktioniert .. Also ich bin mir nicht sicher, was ich hier falsch mache.
Vielen Dank im Voraus, Laurens
PS: wenn Interesse besteht, ist voll Code auf Github: https://github.com/LaurensScheldeman/TwitchBot/commits/master
Sind Sie sicher, dass Sie kein anderes Objekt (von traceback a function) namens 'bankheist' in Ihrem' Bankheist' Modul haben? –
'__init __. Py' fehlt in src/config? – Chintan
__init__.py in allen Verzeichnissen, nicht das Problem @Chintan und die Datei selbst heißt bankheist.py ... könnte das das Problem sein? Wie ich diese Datei importiere: module = importlib.import_module ('src.lib.commands.% S'% Befehl) – Laurens