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

如何将Raspberry Pi 3B采集的称重传感器数据导出为.txt文件?

树莓派称重传感器数据导出为TXT文件方案

核心解决思路

  • 用列表实时缓存采集到的整数数据,避免频繁写入文件影响采集效率
  • 捕获脚本终止信号(比如Ctrl+C),触发自动导出操作
  • 将整数转为字符串后写入文件,每个数据单独占一行

完整示例代码

import signal
import time

# 用于存储所有采集到的称重数据
collected_load_data = []

# 脚本终止时执行的导出函数
def export_on_exit(signal_num, frame):
    print("\n正在导出数据...")
    # 用上下文管理器自动处理文件打开/关闭,避免数据丢失
    with open("load_cell_records.txt", "w", encoding="utf-8") as file:
        # 遍历数据,每个整数转字符串后加换行符写入
        for data_point in collected_load_data:
            file.write(f"{data_point}\n")
    print("数据已导出到 load_cell_records.txt")
    exit(0)

# 注册终止信号监听(Ctrl+C触发SIGINT信号)
signal.signal(signal.SIGINT, export_on_exit)

# 数据采集主逻辑(替换成你实际的传感器读取代码)
print("开始采集称重数据,按Ctrl+C停止并导出")
try:
    while True:
        # 替换成你的传感器读取函数,确保返回整数类型数据
        current_weight = int(time.time() % 200)  # 模拟整数称重数据
        collected_load_data.append(current_weight)
        print(f"当前采集数据: {current_weight}")
        time.sleep(0.3)  # 模拟采集间隔,替换为你实际的采集频率
except Exception as error:
    print(f"采集过程出现错误: {error}")
    # 出错时也导出已采集的数据
    export_on_exit(None, None)

关键细节说明

  • 整数转字符串:通过f"{data_point}"或str(data_point)即可将整数转为可写入文本的格式,解决你之前遇到的整数无法写入的问题
  • 缓存机制:用列表缓存数据,仅在脚本终止时一次性写入文件,避免频繁IO操作拖慢采集速度
  • 文件模式:w模式会覆盖旧文件,若需要保留历史数据,可将"w"改为"a"(追加模式)
  • 异常处理:采集过程中若出现错误,也会自动导出已采集的部分数据,避免数据丢失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:50:31