python3 flask 文件占用未释放问题
更新时间:2023年11月07日 10:50:40 作者:太阳晒PP
这篇文章主要介绍了python3 flask 文件占用未释放问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
背景
删除文件报错文件被进程占用
starttime = datetime.datetime.now() files = os.listdir(os.getcwd()) if 'scan.log' in files: os.remove(os.path.join(os.getcwd(), 'scan.log')) if 'scanResult.log' in files: os.remove(os.path.join(os.getcwd(), 'scanResult.log'))
原因
python logging模块打日志,句柄未释放导致,本地test.py调试不会出问题因为python执行完会退出
解决
在删除文件前,调logging.shutdown()
import logging from logging.handlers import TimedRotatingFileHandler formatter = logging.Formatter( fmt='[%(levelname)s] %(asctime)s %(message)s', datefmt="%Y-%m-%d_%H:%M:%S" ) def getLogger(name,logPath): logger = logging.getLogger(name) logger.setLevel(logging.INFO) if not logger.handlers: sh = logging.StreamHandler() sh.setLevel(logging.ERROR) fh = TimedRotatingFileHandler(logPath, when='midnight', backupCount=30, encoding='utf-8') fh.setFormatter(logging.INFO) sh.setFormatter(formatter) fh.setFormatter(formatter) logger.addHandler(sh) logger.addHandler(fh) return logger def shutdown(): logging.shutdown()
排错
怀疑自己写的with open没释放?按道理会自动释放,加了行f.close还是报错被占用
怀疑上传文件未及时释放,ftp.quit()、ftp.close()、还是不行
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Python之tkinter进度条Progressbar用法解读
这篇文章主要介绍了Python之tkinter进度条Progressbar用法解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-05-05Python迭代器iterator生成器generator使用解析
这篇文章主要介绍了Python迭代器iterator生成器generator使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-10-10tensorflow实现测试时读取任意指定的check point的网络参数
今天小编就为大家分享一篇tensorflow实现测试时读取任意指定的check point的网络参数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-01-01Anaconda最新版2023安装教程Spyder安装教程图文详解
这篇文章主要介绍了Anaconda最新版2023安装教程Spyder安装教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-05-05
最新评论