我有一个用 Python 编写的应用程序,它将大量数据写入%TEMP%
文件夹。奇怪的是,每隔一段时间,它就会死去,然后回来IOError: [Errno 28] No space left on device
。该驱动器有plenty的自由空间,%TEMP%
不是自己的分区,我是管理员,系统没有配额。
Windows 是否人为地对其中的数据设置了某些类型的限制?%TEMP%
?如果不是,有什么想法可能导致此问题吗?
EDIT:经过下面的讨论,我澄清了这个问题,以便更好地解释发生了什么。
您遇到的确切错误是什么?
Are you 创建太多临时文件?
GetTempFileName 方法将引发
IOException(如果用于)
创造超过65535文件没有
删除以前的临时文件。
GetTempFileName 方法将引发
如果没有唯一的临时值,则抛出 IOException
文件名可用。解决
这个错误,删除所有不需要的
临时文件。
需要注意的一件事是,如果您间接使用 Win32 API,并且仅使用它来获取临时文件名,请注意在(间接)调用它时:
Creates一个独特的名字,零字节
磁盘上的临时文件并返回
该文件的完整路径。
如果您使用该路径但也更改返回的值,请注意您实际上可能正在创建一个 0 字节文件和一个附加文件(例如 My_App_tmpXXXX.tmp 和 tmpXXXX.tmp)。
正如 Nestor 下面建议的那样,请考虑在使用完临时文件后将其删除。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)