You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

命令行运行Python脚本出现KeyError: 'Telegram'错误求助

解决终端运行Python脚本报KeyError: 'Telegram'的问题

这问题我碰到过不少,本质是终端环境和IDE环境的差异导致配置文件没被正确加载,咱们一步步排查解决:

1. 先解决工作目录不一致的问题

IDE(比如Thonny、PyCharm)默认会把你的项目根目录设为脚本的工作目录,但终端里你可能在~(用户主目录)下直接运行脚本,这时候脚本找配置文件是相对于终端当前目录,而不是脚本所在的目录,自然找不到Telegram配置段。

两种快速解决方法:

  • 先切换到脚本所在目录再运行:
    cd /home/pi/telegram/telethon && python tele.py
    
  • 或者修改脚本,用绝对路径加载配置文件(推荐,避免以后再踩坑):
    import os
    from configparser import ConfigParser
    
    # 获取脚本自身的绝对路径
    script_path = os.path.abspath(__file__)
    script_dir = os.path.dirname(script_path)
    # 替换成你的配置文件名(比如config.ini)
    config_file = os.path.join(script_dir, "config.ini")
    
    config = ConfigParser()
    # 加载指定路径的配置文件
    config.read(config_file)
    

2. 检查Python环境是否和IDE一致

有时候终端里的python命令指向的Python版本/虚拟环境,和IDE用的不是同一个,导致配置文件的加载路径或者依赖有差异。

排查步骤:

  • 先在IDE里查看当前使用的Python解释器路径(比如PyCharm在File → Settings → Project: 你的项目名 → Python Interpreter,Thonny在Run → Select interpreter)
  • 终端里直接用这个绝对路径运行脚本,比如:
    /usr/local/bin/python3.7 /home/pi/telegram/telethon/tele.py
    
  • 或者试试用python3代替python运行,避免系统默认Python版本不一致:
    python3 /home/pi/telegram/telethon/tele.py
    

3. 验证配置文件的格式和位置

最后确认你的配置文件本身没问题:

  • 确保配置文件(比如config.ini)的格式正确,[Telegram]段必须存在,比如:
    [Telegram]
    api_id = 你的API_ID
    api_hash = 你的API_HASH
    
  • 可以在脚本开头加一行调试代码,看看配置文件有没有被正确加载:
    config = ConfigParser()
    loaded_files = config.read("config.ini")
    print(f"加载的配置文件:{loaded_files}")  # 如果输出空列表,说明没找到文件
    

内容的提问来源于stack exchange,提问作者Noser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 07:18:13