4 Stimmen

Python - über die Begrenzung von Dateihandles unter OS

HI ich habe ein Programm mit Python geschrieben, und wenn ich zu viele tempfile öffne, bekomme ich eine Ausnahme: Too many open files ... Dann finde ich heraus, dass Windows OS oder C-Laufzeit hat die Datei-Handle-Limits, so, ich mein Programm mit StringIO() ändern, aber immer noch nicht wissen, ob StringIO auch begrenzt ist?

7voto

Greg Hewgill Punkte 882617

Pythons StringIO verwendet keine OS-Dateigriffe und ist daher nicht auf die gleiche Weise eingeschränkt. StringIO wird durch den verfügbaren virtuellen Speicher begrenzt, aber Sie haben wahrscheinlich haufenweise verfügbaren Speicher.

Normalerweise lässt das Betriebssystem zu, dass ein einzelner Prozess Tausende von Dateien öffnet, bevor er an die Grenze stößt. Wenn Ihr Programm also keine Datei-Handles mehr hat, vergessen Sie vielleicht, sie zu schließen. Es sei denn, Sie haben die Absicht, Tausende von Dateien zu öffnen, und die Handles sind Ihnen wirklich ausgegangen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X