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

Python跨文件访问变量报错:AttributeError: module 'core temp' has no attribute 'ct'

解决你的AttributeError和游戏脚本问题

嘿,兄弟,我来帮你捋捋这几个坑!你遇到的AttributeError和后续的潜在问题主要有几个核心原因,咱们一个个拆解解决:

1. 模块加载被死循环彻底阻塞了

你的coretemp.py里写了while True的死循环,而Python导入模块时会从头到尾执行一遍模块内的所有代码——这就意味着脚本会一直卡在这个死循环里,永远没法完成模块加载流程,主脚本自然就获取不到ct变量了,这就是AttributeError的根源!

2. 全局变量的实时更新逻辑不合理

就算去掉死循环,这种用全局变量在模块里循环更新的方式也不适合游戏场景:模块加载只执行一次,循环会直接阻塞程序,而且主脚本也没法实时拿到更新后的ct值。咱们得把温度逻辑封装成可调用的结构,让主脚本能主动获取最新状态。

3. 字符串拼接的类型错误

你代码里"Core temperature: "+core.ct会触发TypeError,因为ct是整数类型,不能直接和字符串做拼接,得先转成字符串才行。

4. 条件判断的逻辑顺序有问题

第三个判断elif core.ct >= 3000放在elif core.ct < 4000后面,会导致3000-4000之间的温度永远触发不了红色警告——因为前面的<4000已经先匹配上了,逻辑顺序得调整。


修改后的coretemp.py

咱们用类+后台线程来重构温度逻辑,既不会阻塞模块加载,又能实时更新温度:

from time import sleep
import coolant as c
import threading

class CoreTemp:
    def __init__(self):
        self.ct = 10
        self.running = True
        # 启动后台线程专门处理温度更新
        threading.Thread(target=self.update_temp, daemon=True).start()
    
    def update_temp(self):
        while self.running:
            if not c.coolactive:
                self.ct += 1
                sleep(0.3)
            else:
                self.ct -= 1
                sleep(1)

# 创建一个全局实例,供主脚本直接调用
core_temp = CoreTemp()

修改后的主脚本代码

# 导入重构后的模块实例
from coretemp import core_temp as core
from termcolor import colored  # 假设你用的是termcolor库的colored函数

# 假设这是你的命令处理逻辑(放在游戏循环里)
cmd = "temp"  # 示例命令
if cmd == "temp":
    current_temp = core.ct
    temp_str = str(current_temp)
    if current_temp < 2000:
        print(colored(f"Core temperature: {temp_str}°C", "green"))
    elif current_temp < 3000:  # 调整顺序,先判断2000-3000为黄色
        print(colored(f"Core temperature: {temp_str}°C", "yellow"))
    else:  # >=3000直接触发红色警告
        print(colored(f"Core temperature: {temp_str}°C", "red"))

额外小提醒

  • 确保你的模块文件名是coretemp.py,没有空格(你报错里写的是core temp,大概率是输入笔误,但文件名一定要和导入语句统一)
  • 如果你的coolant.py里也有类似的死循环逻辑,也要用同样的线程方式处理,不然还是会阻塞整个程序加载

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:01:25