【bug解决】C++调用python库不能重复调用的问题解决

本文讲述了在C++中调用Python代码时遇到的I/Ooperationonclosedfile错误,主要原因是Python代码中未正确关闭文件或print语句输出到非预期位置。给出了检查文件操作和调整print语句的目标的两个解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

使用C++调用Python环境中的代码,其中Python的代码已经封装在site-pages目录下。


问题描述

在使用C++进行调用时,在C++程序的运行过程中,只能调用一次Python代码,反复调用就会失败。

原因分析:

在python端,将调用的函数整体加上try catch异常捕获,将捕获的异常打印至本地目录看到,错误如下:

python提示 I/O operation on closed file.

解决方案:

第一个解决方案是,查看python代码中打开文件,并且使用完毕后是否有关闭文件。或者是否是在with语句下进行的文件读写;
第二个解决方案是,查看python代码中是否有print语句,并且打印到目标是屏幕,我就是因为这个问题,导致了程序的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wumbuk

您的支持是我坚持的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值