我编写了简单的代码进行测试,可能会在python脚本中打开多少文件:
for i in xrange(2000): fp = open('files/file_%d' % i, 'w') fp.write(str(i)) fp.close() fps = [] for x in xrange(2000): h = open('files/file_%d' % x, 'r') print h.read() fps.append(h)
我有一个例外
IOError: [Errno 24] Too many open files: 'files/file_509'
打开文件的数量受操作系统限制。在Linux上,您可以输入
ulimit -n
看看极限是多少。如果您是root用户,则可以键入
ulimit -n 2048
现在您的程序将可以正常运行(作为根用户),因为您已将限制提高到2048个打开的文件