Python importiere eigenes Modul - Name nicht definiert

Ich möchte mein grundlegendes Durcheinander-Spiel aktualisieren. Ich habe bereits dafür gesorgt, dass das Skript Wörter aus einer Textdatei abruft. Jetzt möchte ich sie in Module aufteilen, da ich unterschiedliche Textdateien mit unterschiedlichen Wörtern habe.

Ich habe mein Hauptskript, jumble_game.py

import random
import amazement

#Welcome the player
print("""
    Welcome to Word Jumble.
        Unscramble the letters to make a word.
""")

def wordlist(file):
    with open(file) as afile:
        global the_list
        the_list = [word.strip(",") for line in afile for word in line.split()]
    print(the_list)

def main():
    score = 0
    for i in range(4):
        word = random.choice(the_list)
        theWord = word
        jumble = ""
        while(len(word)>0):
            position = random.randrange(len(word))
            jumble+=word[position]
            word=word[:position]+word[position+1:]
        print("The jumble word is: {}".format(jumble))

        #Getting player's guess
        guess = input("Enter your guess: ").lower()

        #congratulate the player
        if(guess==theWord):
            print("Congratulations! You guessed it")
            score +=1

        else:
            print ("Sorry, wrong guess.")
    print("You got {} out of 10".format(score))

#filename = "words/amazement_words.txt"
wordlist(filename)
main()

Ich möchte, dass die Datei amazement.py in jumble_game.py importiert wird, da ich möchte, dass der Benutzer die Gruppe auswählt, aus der die Wörter ausgewählt werden.

amazement.py:

filename = "amazement_words.txt"

Ich erhalte diesen Fehler:

File "jumble_game.py", line 49, in <module>
    wordlist(filename)
NameError: name 'filename' is not defined

Wenn ich es anders mache, das Hauptskript in amazement.py importiere und letzteres ausführe, funktioniert der Code problemlos.

Alle Ahnung, was ich vermisse? Immer noch ein Python-Anfänger, also nimm mich mit. :)

Danke für Hilfe / Vorschläge!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage