मेरी मशीन पर लिनक्स मशीन ulimit -n
1024
देता है। f
और path
की type
लेकिन बस int
और str
तो मैं कर रहे हैं -मैं tempfile.mkstemp से फ़ाइलों को कैसे बंद करूं?
Traceback (most recent call last):
File "utest.py", line 4, in <module>
File "/usr/lib/python2.7/tempfile.py", line 300, in mkstemp
File "/usr/lib/python2.7/tempfile.py", line 235, in _mkstemp_inner
OSError: [Errno 24] Too many open files: '/tmp/tmpc5W3CF'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
ImportError: No module named fileutils
ऐसा लगता है जैसे मैं कई फाइलों को खोल दिया है: यह कोड:
from tempfile import mkstemp
for n in xrange(1024 + 1):
f, path = mkstemp()
साथ अंतिम पंक्ति पाश में विफल रहता है मुझे यकीन नहीं है कि मैंने जो फाइल खोली है उसे बंद करना है। मैं tempfile.mkstemp से फ़ाइलों को कैसे बंद करूं?
बस थोड़ा समझाने के लिए। mkstemp() एक यूनिक्स फ़ाइल डिस्क्रिप्टर देता है, इसलिए आप इसके साथ काम करने के लिए आपको या तो fdopen का उपयोग करके खोलने की आवश्यकता है या ओएस क्लोज फ़ंक्शन का उपयोग करें: os.close() – turtlebender
धन्यवाद, @ टर्टलेबेंडर। – unutbu