此前写了个图片自动下载、自动处理然后插入excel中的功能,试了很多方法,在代码里处理后的图片对象无法在内存里转换成流直接插入excel,必须先保存下来,所以就想到用tempfile模块自动获取个临时文件(在临时目录下),添加图片后缀名然后保存图片用。

TemporaryFile和NamedTemporaryFile区别可以自行百度,对于我的需要的功能,并无大的差异,我直接用了TemporaryFile,它的name属性就是我想要的系统临时目录下的文件,我本地是win10系统,测试下来没有问题。

然而,我把代码上传到服务器之后,发现在我的项目目录下出现了一堆一堆下面图的<fdopen>开头的文件,还不能删除。。。后来想到去linux的临时目录下查看一下,是否有我获取的临时文件生成,发现并没有。



后面经过测试,发现【TemporaryFile】和【NamedTemporaryFile】的name属性在linux和windows下的是有区别的,如下图:

windows下:


linux下:


查看和删除方法如下(不能以<fdopen>开头,刚开始以为是这种类型的文件是否被赋予了a,i属性,用lsattr命令查看,结果并不是):




更多推荐

python语言【tempfile】模块的【TemporaryFile】和【NamedTemporaryFile】的name属性在linux和windows下的