- Published on
一个多线程操作文件的问题
- Authors

- Name
- Ushen
碰到一个奇怪的问题
使用python的subprocess执行一个命令,内容为查询日志,并将输出用gzip -c压缩并重定向到文件,这里用了匿名管道,
会间歇性出现文件找不到的问题,一下正常一下不正常
最终查到的原因是因为gzip -d解压失败了,原因是文件损坏, 但是直接复制指令到命令行执行完全没问题,文件可以正常解压,如果用命令行解压用python脚本生成的gz文件,也会出现解压失败。
用python的 with open写模式打开文件居然会报错文件不存在,而且也是间歇性出现, 文件夹是存在的,文件名每次都不会重复,应该也不会出现竞争,按道理open的时候如果文件不存在会自动创建
改成用tmpfile库去操作文件,这个方法没出现问题,后面有空去看看之前的问题是因为什么