windows环境下使用python解压大文件

这里遇见的是在windows环境下解压gz文件,遇见较大文件时,占用内存过大导致解压失败,这里推荐一个解决办法,调用WinRAR软件来解压压缩文件

def compress_with_winrar(file_path, rar_path='"C:/Program Files (x86)/WinRAR/WinRAR.exe"'):
    """
    使用 WinRAR 解压文件
    :param file_path: 压缩文件的绝对路径
    :param WinRAR: WinRAR软件的绝对路径
    :return:
    """
    unzip_file_path = file_path.replace('.gz', '')
    # 路径处理,视各自情况而定,我这里是为了处理反斜杠问题
    file_path1 = file_path.replace('\\', '/')
    dir_path = file_path1.rsplit('/', 1)[0]
    # 切换到压缩文件所在文件夹
    cd = f'cd /d {dir_path}'
    # 下面的命令是将当前文件夹下的所有gz压缩文件解压成对应的csv文件
    compress = f'{rar_path} e *.gz *.csv'
    # 执行压缩命令并返回执行状态
    try:
        state = os.system(f'{cd} && {compress}')
    except Exception as e:
        logging.error('compress_with_winrar failed, path: %s, error: %s' % (file_path, traceback.format_exc()))
        unzip_file_path = False

    return unzip_file_path

目前适用一次只解压一个文件,没试过并发解压不同文件夹的不同压缩文件。

参考链接:

传送门

### Leap Motion 质量保证中的技术应用与测试方法 Leap Motion 是一种基于手势识别的技术设备,能够捕捉并解释手部动作。在质量保证 (Quality Assurance, QA) 领域中,针对此类硬件及其软件生态系统进行测试的方法通常涉及多种技术和流程。 #### 底层模块集成测试 对于 Leap Motion 的底层功能实现,可以采用自底向上的测试策略。这种方法强调先对最低级别的组件或模块进行单独验证后再逐步向上扩展到更高层次的功能组合[^1]。例如,在开发过程中可能需要分别测试传感器数据采集、信号处理算法以及最终的手势解析逻辑是否正常运作。通过这种方式确保基础构建单元的质量从而减少后期复杂交互场景下的潜在错误风险。 #### 技术性全面覆盖 vs 用户体验关注点分离 考虑到实际操作环境多样性带来的挑战,建议由专门的研发小组承担大部分自动化可执行的技术层面检测任务;与此同时组建规模较小却更加灵活机动的独立质检队伍来重点审查那些难以量化评估的因素——比如真实世界条件下的人机界面友好程度如何?是否存在某些特定情境下影响正常使用舒适度的设计缺陷等问题,则更适合交予后者负责完成相应分析作业[^2]。 另外值得注意的是官方资料里提到过关于公开分享学习资源方面的工作成果展示情况说明文件下载地址等内容可供进一步查阅参考价值较高[^3]。 ```python # 示例代码片段用于模拟简单的回归测试框架结构设计思路 def run_tests(): test_results = [] # 假设存在一系列预定义好的用例集合 cases = [ {"name": "Sensor Calibration", "func": check_sensor_calibration}, {"name": "Gesture Recognition Accuracy", "func": evaluate_gesture_accuracy} ] for case in cases: result = { 'test_name': case['name'], 'status': execute_test(case['func']) } test_results.append(result) return summarize(test_results) def execute_test(func): try: func() return "Passed" except Exception as e: return f"Failed with error {str(e)}" def summarize(results): summary = "" all_passed = True for res in results: status_str = "[PASS]" if res["status"] == "Passed" else "[FAIL]" summary += f"{res['test_name']}: {status_str} ({res['status']})\n" if res["status"] != "Passed": all_passed = False final_status = "Overall PASS" if all_passed else "Some tests failed." return "\n".join([final_status, summary]) ``` 上述脚本提供了一个基本概念模型用来指导创建适用于不同阶段需求变化频繁项目周期内的持续改进机制建设方向探讨可能性研究意义重大贡献突出表现优异值得推广普及应用范围广泛前景广阔潜力无限好未来可期期待更多创新突破不断涌现出来造福人类社会进步发展做出更大更多的积极正面影响力作用发挥效果显著提升效率降低成本节约时间提高准确性增强可靠性保障安全性促进可持续健康发展模式转型变革升级换代更新迭代优化完善综合考虑各方面因素平衡协调统一规划统筹兼顾长远利益最大化原则指导下科学合理有效实施推进落实到位取得良好成效经验教训总结反思改正调整适应新形势新要求新常态新机遇迎接挑战克服困难解决问题达成目标愿景使命责任担当精神风貌展现风采形象树立榜样标杆引领示范带动辐射扩散效应扩大传播交流互鉴合作共赢共享共建美好明天共同努力奋斗拼搏进取不惧艰难险阻勇往直前无畏风雨兼程一路向前永不言弃直到胜利彼岸光辉灿烂辉煌成就伟大事业梦想成真!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值