【发布时间】:2010-11-13 17:11:21
【问题描述】:
你好,我用python写了一个程序,当我打开太多临时文件时,我会得到一个异常:打开的文件太多... 然后我发现 Windows 操作系统或 C 运行时有文件句柄限制,所以,我使用 StringIO() 更改我的程序,但仍然不知道 StringIO 是否也受到限制??
【问题讨论】:
标签: python
你好,我用python写了一个程序,当我打开太多临时文件时,我会得到一个异常:打开的文件太多... 然后我发现 Windows 操作系统或 C 运行时有文件句柄限制,所以,我使用 StringIO() 更改我的程序,但仍然不知道 StringIO 是否也受到限制??
【问题讨论】:
标签: python
Python 的 StringIO 不使用 OS 文件句柄,因此不会受到同样的限制。 StringIO 将受到可用虚拟内存的限制,但您可能有大量可用内存。
通常,操作系统允许单个进程在运行到限制之前打开数千个文件,因此如果您的程序用完文件句柄,您可能会忘记关闭它们。当然,除非您打算打开数千个文件并且真的用完了。
【讨论】: