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

Python双脚本问题:RGB值写入加done及读取终止异常求助

解决两个Python脚本的问题

一、生成RGB值脚本:添加'done'标识

原代码问题:写完所有RGB值后未写入done标识,且每次循环重复打开/关闭文件,IO效率极低。

修正代码

def generatergbvalues():
    rgb_values = []
    for r in range(256):
        for g in range(256):
            for b in range(256):
                rgb_values.append((r, g, b))
    return rgb_values

def run():
    rgb_values = generatergbvalues()
    
    # 用with语句一次性管理文件,自动释放资源
    with open('Python/Color/colors.txt', 'a+') as file:
        for value in rgb_values:
            file.write(f"{value}\n")
            print(value)
        # 所有RGB值写入完成后,追加done标识
        file.write('done\n')

if __name__ == "__main__":
    run()

二、读取RGB值脚本:检测到'done'后终止循环

原代码问题:

  1. 函数内用done == True是比较操作,不是赋值,无法修改状态
  2. done作为参数是值传递,函数内修改不会影响外部变量
  3. 未正确关闭文件,存在资源泄漏
  4. 无延迟循环读取占用大量CPU资源

修正代码

import time

def check_done():
    with open('Python/Color/colors.txt', 'r') as file:
        data = file.read()
    # 直接按换行分割内容,无需替换成/
    datalist = data.split('\n')
    print(datalist)
    return "done" in datalist

while True:
    if check_done():
        break
    # 每0.5秒读取一次,降低CPU占用
    time.sleep(0.5)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 02:17:09