Python - 关于操作系统中文件句柄限制
嗨,我用Python写了一个程序,当我打开太多临时文件的时候,就会出现一个错误:打开的文件太多了……然后我发现,Windows操作系统或者C语言的运行环境对文件句柄有数量限制。所以,我改用了StringIO()来处理文件,但我还是不太确定StringIO是否也有这个限制?
1 个回答
7
Python里的StringIO不使用操作系统的文件句柄,所以它不会受到那种限制。StringIO的限制主要是受可用的虚拟内存影响,但你可能有很多可用的内存。
通常情况下,操作系统允许一个程序打开成千上万的文件,才会遇到限制。所以如果你的程序出现了文件句柄不够用的情况,可能是你忘记关闭它们了。当然,如果你真的是要打开成千上万的文件,那就另当别论了。