python 列表报keyerror,Python日志文件配置KeyError:'formatters'

在Python项目中遇到日志配置问题,调整包和模块后,原本正常工作的日志配置引发KeyError:'formatters'。错误发生在尝试从配置文件加载formatters时。通过检查日志配置文件和代码,发现日志配置文件的路径问题可能是导致KeyError的原因。解决方案是使用os模块获取当前运行文件的目录,并据此定位日志配置文件。
摘要由CSDN通过智能技术生成

I'm currently working on a python project and I set up logging using a config file. It has already worked and was logging my messages as wanted.

But then, after rearranging some of the packages and modules, I only get a key error.

Full Traceback:

Traceback (most recent call last):

File "/Volumes/Daten/Eclipse/workspace/Carputer/src/pyboard/__init__.py", line 42, in

logging.config.fileConfig('../logging.conf', disable_existing_loggers=False)

File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/logging/config.py", line 70, in fileConfig

formatters = _create_formatters(cp)

File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/logging/config.py", line 103, in _create_formatters

flist = cp["formatters"]["keys"]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 第一行代码 `while not game_over:` 是一个while循环,当游戏未结束时会一直执行循环体中的代码。 2. 第二行代码 `while game_close == True:` 是一个嵌套的while循环,在游戏结束且玩家未选择退出或重新开始游戏时执行循环体中的代码。 3. `win.fill(white)` 用于将游戏窗口填充为白色。 4. `message("You Lost! Press Q-Quit or C-Play Again", red)` 是一个自定义函数,用于在游戏窗口中显示一段文字提示信息,参数red表示文字颜色为红色。 5. `pygame.display.update()` 用于更新游戏窗口中的显示内容。 6. `for event in pygame.event.get():` 用于获取所有的事件,并遍历每个事件进行处理。 7. `if event.type == pygame.KEYDOWN:` 判断事件类型是否为按键按下事件。 8. `if event.key == pygame.K_q:` 判断按下的键是否为Q键,如果是,则修改游戏状态为结束并退出游戏。 下面是修改后的代码: ```python while not game_over: while game_close: win.fill((255, 255, 255)) # 使用RGB值填充白色背景 message("You Lost! Press Q-Quit or C-Play Again", (255, 0, 0)) # 修改提示信息为红色 pygame.display.update() for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if event.key == pygame.K_q: game_close = False # 修改游戏状态为结束 game_over = True elif event.key == pygame.K_c: game_close = False # 修改游戏状态为重新开始 ``` 修改后的代码主要将原来的white和red值改为了RGB值,更符合通用的编程规范。同时修改了按键处理部分的代码,将退出游戏和重新开始游戏的逻辑分别处理,提高代码的可读性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值