Python 导入文件后发生名称错误

Python 导入文件后发生名称错误,python,Python,我有两个文件。一个名为“variables.py”的函数,其中包含以下函数: def get_players(): ''' (NoneType) -> Dictionary Asks for player names ''' loop = True players = {} while loop == True: player = input("Enter player names: ") player

我有两个文件。一个名为“variables.py”的函数,其中包含以下函数:

def get_players():
    '''
    (NoneType) -> Dictionary
    Asks for player names
    '''
    loop = True
    players = {}
    while loop == True:
        player = input("Enter player names: ")
        player = player.strip()
        if player in players or player == "":
            print("Choose a different name!")
        elif "player1" in players:
            players["player2"] = [player, 0]
        elif player not in players:
            players["player1"] = [player, 0]
        if len(players) >= 2:
            loop = False
    return players
以及同一目录中另一个名为“game.py”的文件,其中包含:

import variables
players = get_players()
当我尝试运行“game.py”时,我得到了这个错误
NameError:name'get_players'没有定义
为什么?我什么都试过了

应该是

players = variables.get_players()
因为您只导入了模块
变量
,而没有导入方法
获取玩家

或者你也可以这样做:

from variables import get_players

players = get_players()
阅读更多关于它应该是

players = variables.get_players()
因为您只导入了模块
变量
,而没有导入方法
获取玩家

或者你也可以这样做:

from variables import get_players

players = get_players()
阅读更多关于它应该是

players = variables.get_players()
因为您只导入了模块
变量
,而没有导入方法
获取玩家

或者你也可以这样做:

from variables import get_players

players = get_players()
阅读更多关于它应该是

players = variables.get_players()
因为您只导入了模块
变量
,而没有导入方法
获取玩家

或者你也可以这样做:

from variables import get_players

players = get_players()

阅读更多有关导入的
变量的信息,而不是
获取玩家的信息。您可以保持导入原样并调用
变量。获取玩家()
,或者从变量执行
导入获取玩家
,然后调用
获取玩家()


这在Python中是一个相当基本的东西:看起来您可以从基础教程中获益。

您导入了
变量
,而不是
获取玩家
。您可以保持导入原样并调用
变量。获取玩家()
,或者从变量执行
导入获取玩家
,然后调用
获取玩家()


这在Python中是一个相当基本的东西:看起来您可以从基础教程中获益。

您导入了
变量
,而不是
获取玩家
。您可以保持导入原样并调用
变量。获取玩家()
,或者从变量执行
导入获取玩家
,然后调用
获取玩家()


这在Python中是一个相当基本的东西:看起来您可以从基础教程中获益。

您导入了
变量
,而不是
获取玩家
。您可以保持导入原样并调用
变量。获取玩家()
,或者从变量执行
导入获取玩家
,然后调用
获取玩家()


在Python中,这是一个相当基本的东西:看起来您可以从基础教程中获益。

在Python中,当您导入模块时,将创建一个模块变量,该名称是所有导入模块变量所在的位置:

import variables
players = variables.get_players()
您还可以从一个模块导入,该模块本身只引入该名称:

from variables import get_players
players = get_players()
您也可以执行以下操作从模块导入所有名称,但不鼓励这样做,因为这样会导致代码难以读取:

from variables import *
players = get_players()

在Python中,当您导入模块时,将为该名称创建一个模块变量,该名称是所有导入模块变量所在的位置:

import variables
players = variables.get_players()
您还可以从一个模块导入,该模块本身只引入该名称:

from variables import get_players
players = get_players()
您也可以执行以下操作从模块导入所有名称,但不鼓励这样做,因为这样会导致代码难以读取:

from variables import *
players = get_players()

在Python中,当您导入模块时,将为该名称创建一个模块变量,该名称是所有导入模块变量所在的位置:

import variables
players = variables.get_players()
您还可以从一个模块导入,该模块本身只引入该名称:

from variables import get_players
players = get_players()
您也可以执行以下操作从模块导入所有名称,但不鼓励这样做,因为这样会导致代码难以读取:

from variables import *
players = get_players()

在Python中,当您导入模块时,将为该名称创建一个模块变量,该名称是所有导入模块变量所在的位置:

import variables
players = variables.get_players()
您还可以从一个模块导入,该模块本身只引入该名称:

from variables import get_players
players = get_players()
您也可以执行以下操作从模块导入所有名称,但不鼓励这样做,因为这样会导致代码难以读取:

from variables import *
players = get_players()

我认为您可以从变量导入中执行
*
或尝试
变量。获取玩家()
import*
意味着导入所有内容,因此也可以通过说
import get\u players
来定位它。我认为您可以从variables import*
执行
,或者尝试
variables.get\u players()
import*
意味着导入所有内容,因此也可以通过说
import get\u players
来定位它。我认为您可以从variables import*
执行
,或者尝试
variables.get\u players()
import*
意味着导入所有内容,因此也可以通过说
import get\u players
来定位它。我认为您可以从variables import*
执行
,或者尝试
variables.get\u players()
import*
意味着导入所有内容,因此也可以通过说
import get\u players
来锁定它。