当前位置: 首页 > 面试题库 >

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

皇甫树
2023-03-14
问题内容

我编写了简单的代码进行测试,可能会在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个打开的文件



 类似资料:
  • 函数名称:关闭文件句柄 函数功能:关闭文件句柄 函数方法 io.close() 函数用例 file,msg = io.open("/mnt/sdcard/kazhu.txt") if file then dialog("打开成功",5000) file:close() else dialog("打开失败,失败原因:"..msg,5000) end

  • 句柄是什么?在Windows中,句柄的存在就像指针的标识一样,但这样的答案显示不是你们需要的。闲暇之余,笔者摘录以下Windows句柄的解释。用户可以端着咖啡再看Windows结构体里面句柄的作用表述。 这里我列举词条中的关于句柄的叙述不当之处,至于如何不当先不管,继续往下看就会明白: 句柄是什么? Windows 之所以要设立句柄,根本上源于内存管理机制的问题—虚拟地址,简而言之数据的地址需要变

  • 你可以创建任何MATLAB函数的句柄,然后用这些句柄作为函数链接的途径。函数句柄主要用来传递自变量列表给其他函数,用句柄执行函数或求值。 在MATLAB中,通过在函数名前加上符号@构造函数句柄。下面例子为SIN函数创建一个函数句柄,然后赋值给变量fhandle: fhandle = @sin; 用MATLAB的fevel函数对函数句柄求值。下面的plot_fhandle函数接收一个函数句柄和数据

  • 问题内容: 我正在开发一个巨大的旧版Java应用程序,其中包含许多手写内容,如今您可以让一个框架来处理。 我现在面临的问题是,我们的Solaris Server上的文件句柄用尽了。我想知道跟踪打开文件句柄的最佳方法是什么?在哪里查看,什么会导致打开的文件句柄用尽? 我不能在Solaris下调试应用程序,只能在Windows开发环境上调试。分析Windows下的打开文件句柄是否甚至合理? 问题答案:

  • 问题内容: 我有一个必须运行许多模拟运行的应用程序。我想设置一个日志记录机制,其中所有日志记录都记录在general.log中,而所有用于模拟运行的日志都进入run00001.log,…。为此,我定义了一个Run类。在新的文件句柄中添加了运行日志。 问题在于,运行的日志文件永远不会释放,因此在运行了许多次之后,可用的句柄就用光了,运行崩溃了。 我已经设置了一些例程来测试它,如下所示 主程序 类Ru

  • 对于来自Android应用程序的所有网络流量,我们都使用retrofit/okhttp3。到目前为止,一切似乎都进行得相当顺利。 然而,我们现在偶尔会出现应用程序/进程用完文件句柄的情况。 null null 如何防止OkHttp创建太多的文件句柄?