当前位置:  开发笔记 > 编程语言 > 正文

Windows中TEMP目录的限制?

如何解决《Windows中TEMP目录的限制?》经验,为你挑选了1个好方法。

我有一个用Python编写的应用程序,它将大量数据写入该%TEMP%文件夹.奇怪的是,每过一次,它就会死去,然后回来IOError: [Errno 28] No space left on device.驱动器有足够的可用空间,%TEMP%不是自己的分区,我是管理员,系统没有配额.

Windows是否人为地对数据设置了某些类型的限制%TEMP%?如果没有,有什么可能导致这个问题的想法?

编辑:在下面的讨论之后,我澄清了这个问题,以便更好地解释发生了什么.



1> Mike Atlas..:

你遇到的确切错误是什么?

你创建了太多临时文件吗?

如果GetTempFileName方法用于创建超过65535个文件而不删除以前的临时文件,则会引发IOException .

如果没有唯一的临时文件名可用,GetTempFileName方法将引发IOException.要解决此错误,请删除所有不需要的临时文件.

需要注意的一点是,如果您间接使用Win32 API,而您只是使用它来获取临时文件名,请注意在(间接)调用它时:

在磁盘上创建唯一命名的零字节临时文件,并返回该文件的完整路径.

如果您正在使用该路径但也更改返回的值,请注意您实际上可能正在创建一个0byte文件和一个额外的文件(例如My_App_tmpXXXX.tmp和tmpXXXX.tmp).

正如Nestor在下面建议的那样,考虑在完成使用后删除临时文件.


注意:一个好的编程模式是使用FileOptions.DeleteOnClose打开临时文件
推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有