gpt4 book ai didi

Python:无法从另一个文件导入字典

转载 作者:行者123 更新时间:2023-12-01 02:53:48 26 4
gpt4 key购买 nike

我在从其他文件导入字典时遇到问题(我使用的是 python 2.7)

# src/config/config_bankheist.py
bankheist_config = {

###############################
# SECTION 1 : ENTERY OF HEIST #
###############################
'activation_command': '!bankheist',

(...) # More key/values here

} # End of bankheist_config

当我尝试将其导入到使用它的主文件中时:

#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

所以在这里我尝试通过键“init_status”返回值。第一次,它不会找到 key ,因为银行抢劫尚未启动......所以通常我会发现 KeyError 未找到。相反,我得到一个 TypeError: 'function' object has no attribute '__ getitem __'

我尝试将 init_status 键添加到字典中并将其初始化为 False,我什至尝试将 is 作为全局变量导入(假设它在配置文件上是全局的,在定义方法上是全局的),我尝试将将bankhiest_config作为同一个文件中的bankhiest,但它仍然不起作用..

我有一些与config_command.py(与config_bankheist.py相同的文件夹)和commands.py(与bankheist.py相同的文件夹)类似的东西,并且有效。所以我不确定我在这里做错了什么。

提前致谢,劳伦斯

PS:如果有兴趣,完整代码位于 github 上:https://github.com/LaurensScheldeman/TwitchBot/commits/master

最佳答案

您有名为 bankheist 的函数对象,因此您导入的 dict 对象会在 bankheist 函数定义之后被覆盖

尝试保留初始dict对象名称bankheist_config

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

def check_init_status():
try:
return bankheist_config['init_status']
except KeyError:
bankheist_config['init_status'] = False
return False

关于Python:无法从另一个文件导入字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44450554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com