टेम्पफाइल मानक पुस्तकालय में मॉड्यूल अस्थायी फ़ाइलों और निर्देशिकाओं को बनाने के लिए कार्यों को परिभाषित करता है। वे विशेष अस्थायी निर्देशिकाओं में बनाए जाते हैं जो ऑपरेटिंग सिस्टम फ़ाइल सिस्टम द्वारा परिभाषित होते हैं। उदाहरण के लिए, विंडोज़ के तहत अस्थायी फ़ोल्डर प्रोफ़ाइल/ऐपडाटा/लोकल/टेम्प में रहता है जबकि लिनक्स में अस्थायी फ़ाइलें/tmp निर्देशिका में होती हैं।
निम्नलिखित कार्यों को tempfile मॉड्यूल में परिभाषित किया गया है
अस्थायी फ़ाइल ()
यह फ़ंक्शन अस्थायी निर्देशिका में एक अस्थायी फ़ाइल बनाता है और एक फ़ाइल ऑब्जेक्ट देता है, जो बिल्ट-इन ओपन () फ़ंक्शन के समान है। फ़ाइल डिफ़ॉल्ट रूप से wb+ मोड में खोली जाती है, जिसका अर्थ है कि इसमें बाइनरी डेटा को पढ़ने/लिखने के लिए एक साथ इसका उपयोग किया जा सकता है। महत्वपूर्ण बात यह है कि फ़ाइल ऑब्जेक्ट बंद होते ही अस्थायी फ़ोल्डर में फ़ाइल की प्रविष्टि हटा दी जाती है। निम्नलिखित कोड TemporaryFile() फ़ंक्शन का उपयोग दिखाता है।
>>> import tempfile >>> f = tempfile.TemporaryFile() >>> f.write(b'Welcome to TutorialsPoint') >>> import os >>> f.seek(os.SEEK_SET) >>> f.read() b'Welcome to TutorialsPoint' >>> f.close()
निम्नलिखित उदाहरण अस्थायी फ़ाइल ऑब्जेक्ट को लिखने के लिए w+ मोड में खोलता है और फिर बाइनरी डेटा के बजाय टेक्स्ट डेटा पढ़ता है।
>>> ff = tempfile.TemporaryFile(mode = 'w+') >>> ff.write('hello world') >>> ff.seek(0) >>> ff.read() 'hello world' >>> ff.close()
NamedTemporaryFile()
यह फ़ंक्शन TemporaryFile() फ़ंक्शन के समान है। अंतर केवल इतना है कि एक यादृच्छिक फ़ाइल नाम वाली फ़ाइल ऑपरेटिंग सिस्टम के निर्दिष्ट अस्थायी फ़ोल्डर में दिखाई देती है। नाम फ़ाइल ऑब्जेक्ट के नाम विशेषता द्वारा पुनर्प्राप्त किया जा सकता है। यह फ़ाइल भी बंद करने पर तुरंत हटा दी जाती है।
>>> fo = tempfile.NamedTemporaryFile() >>> fo.name 'C:\\Users\\acer\\AppData\\Local\\Temp\\tmpipreok8q' >>> fo.close()
अस्थायी निर्देशिका ()
यह फ़ंक्शन एक अस्थायी निर्देशिका बनाता है। आप dir पैरामीटर का उल्लेख करके इस अस्थायी निर्देशिका का स्थान चुन सकते हैं। निम्नलिखित कथन C:\\python36 फ़ोल्डर में एक अस्थायी निर्देशिका बनाएगा।
>>> f = tempfile.TemporaryDirectory(dir = "C:/python36") <TemporaryDirectory 'C:/python36\\ tmp9wrjtxc_'>
बनाई गई निर्देशिका dir1 फ़ोल्डर में दिखाई देती है। इसे डाइरेक्टरी ऑब्जेक्ट पर क्लीनअप () फ़ंक्शन को कॉल करके हटा दिया जाता है।
>>> f.name 'C:/python36\\tmp9wrjtxc_' >>> f.cleanup()
mkstemp()
यह संघ एक अस्थायी फ़ाइल भी बनाता है, जो TemporaryFile() फ़ंक्शन के समान है। इसके अतिरिक्त, बनाई गई अस्थायी फ़ाइल के साथ जोड़ने के लिए प्रत्यय और उपसर्ग पैरामीटर उपलब्ध हैं। TemporaryFile() के विपरीत, बनाई गई फ़ाइल स्वचालित रूप से हटाई नहीं जाती है। इसे मैन्युअल रूप से हटा दिया जाना चाहिए।
>>> f = tempfile.mkstemp(suffix = '.tp') C:\Users\acer\AppData\Local\Temp\tmpbljk6ku8.tp
mkdtemp()
यह फ़ंक्शन ऑपरेटिंग सिस्टम के अस्थायी फ़ोल्डर में एक अस्थायी निर्देशिका भी बनाता है और उसका पूर्ण पथ नाम देता है। इसके निर्माण के स्थान को स्पष्ट रूप से परिभाषित करने के लिए, dir पैरामीटर का उपयोग करें। यह फ़ोल्डर भी स्वचालित रूप से नहीं हटाया जाता है।
>>> tempfile.mkdtemp(dir = "c:/python36") 'c:/python36\\tmpruxmm66u'
gettempdir()
यह फ़ंक्शन अस्थायी फ़ाइलों को संग्रहीत करने के लिए निर्देशिका का नाम देता है। यह नाम आम तौर पर tempdir पर्यावरण चर से प्राप्त होता है। विंडोज प्लेटफॉर्म पर, यह आम तौर पर उपयोगकर्ता/ऐपडाटा/लोकल/टेम्प या विंडोज़डिर/अस्थायी या सिस्टमड्राइव/अस्थायी होता है। लिनक्स पर यह सामान्य रूप से/tmp है। इस निर्देशिका का उपयोग डीआईआर पैरामीटर के डिफ़ॉल्ट मान के रूप में किया जाता है।
>>> tempfile.gettempdir() 'C:\\Users\\acer\\AppData\\Local\\Temp'
इस लेख में tempfile मॉड्यूल में कार्यों के बारे में बताया गया है।