为什么python的文件句柄数有限制?

发布于 2021-01-29 19:32:00

我编写了简单的代码进行测试,可能会在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'
关注者
0
被浏览
152
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    打开文件的数量受操作系统限制。在Linux上,您可以输入

    ulimit -n
    

    看看极限是多少。如果您是root用户,则可以键入

    ulimit -n 2048
    

    现在您的程序将可以正常运行(作为根用户),因为您已将限制提高到2048个打开的文件



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看