Django 2.1 - The File object
फ़ाइल ऑब्जेक्ट

फ़ाइल ऑब्जेक्ट
django.core.files
मॉड्यूल और इसके
django.core.files
में Django में मूल फ़ाइल हैंडलिंग के लिए अंतर्निहित कक्षाएं हैं।
File
वर्ग
-
class File(file_object)
[source] -
File
क्लास कुछ Django- विशिष्ट परिवर्धन के साथ पायथन फ़ाइल ऑब्जेक्ट के चारों ओर एक पतली आवरण है। आंतरिक रूप से, Django इस वर्ग का उपयोग करता है जब इसे एक फ़ाइल का प्रतिनिधित्व करने की आवश्यकता होती है।File
ऑब्जेक्ट्स में निम्नलिखित विशेषताएँ और विधियाँ हैं:-
name
-
MEDIA_ROOT
से संबंधित पथ सहित फ़ाइल का नाम।
-
size
-
बाइट्स में फ़ाइल का आकार।
-
file
-
अंतर्निहित फ़ाइल ऑब्जेक्ट जो इस वर्ग को लपेटता है।
उपवर्गों में इस विशेषता से सावधान रहें।
FieldFile
औरFieldFile
सहितFile
कुछ उपवर्ग इस विशेषता को एक पायथन फ़ाइल ऑब्जेक्ट के अलावा अन्य ऑब्जेक्ट से बदल सकते हैं। इन मामलों में, यह विशेषता स्वयं एकFile
उपवर्ग हो सकती है (और जरूरी नहीं कि वही उपवर्ग)। जब भी संभव हो, सबक्लास कीfile
विशेषताओं के बजाय उप-वर्ग की विशेषताओं और विधियों का उपयोग करें।
-
mode
-
फ़ाइल के लिए रीड / राइट मोड।
-
open(mode=None)
[source] -
फ़ाइल खोलें या फिर खोलें (जो
File.seek(0)
भी करता है)।mode
तर्क पायथन के अंतर्निहितopen()
के समान मूल्यों की अनुमति देता है।किसी फ़ाइल को दोबारा खोलते समय, जो भी फाइल मूल रूप से खोली गई थी, वह मोड ओवरराइड करेगा; मूल मोड के साथ फिर से खोलने का
None
मतलबNone
है।यह एक संदर्भ प्रबंधक के रूप में उपयोग किया जा सकता है, उदाहरण
with file.open() as f:
:।Django 2.0 में बदला:प्रसंग प्रबंधक समर्थन जोड़ा गया था।
-
__iter__()
[source] -
एक समय में एक लाइन की उपज फ़ाइल पर पाएं।
-
chunks(chunk_size=None)
[source] -
किसी दिए गए आकार की "विखंडू" की उपज फ़ाइल पर दें।
chunk_size
डिफ़ॉल्ट को 64 KB पर।यह बहुत बड़ी फ़ाइलों के साथ विशेष रूप से उपयोगी है क्योंकि यह उन्हें डिस्क से स्ट्रीम करने की अनुमति देता है और पूरी फाइल को मेमोरी में स्टोर करने से बचता है।
-
multiple_chunks(chunk_size=None)
[source] -
यदि यह फ़ाइल पूरी तरह से बड़ी है तो इसकी सभी सामग्री को एक्सेस करने के लिए कई
chunk_size
की आवश्यकता होती है।
-
close()
[source] -
फ़ाइल बंद करें।
सूचीबद्ध विधियों के अलावा,
File
अपनीfile
ऑब्जेक्ट की निम्न विशेषताओं और विधियों को उजागर करती है:encoding
,fileno
,flush
,isatty
,newlines
,read
,readinto
,readline
,readlines
,seek
,tell
,readline
,readlines
,readline
,readlines
readable()
,writable()
, और खोजseekable()
। -
ContentFile
वर्ग
-
class ContentFile(File)
[source] -
ContentFile
वर्गFile
से विरासत में मिला है, लेकिनFile
विपरीत यह एक वास्तविक फ़ाइल के बजाय स्ट्रिंग सामग्री (बाइट्स भी समर्थित) पर संचालित होता है। उदाहरण के लिए:from django.core.files.base import ContentFile f1 = ContentFile("esta frase está en español") f2 = ContentFile(b"these are bytes")
ImageFile
वर्ग
-
class ImageFile(file_object)
[source] -
Django विशेष रूप से छवियों के लिए एक अंतर्निहित वर्ग प्रदान करता है।
django.core.files.images.ImageFile
File
की सभी विशेषताओं और विधियों को इनहेरिट करता है, और इसके अतिरिक्त निम्नलिखित प्रदान करता है:-
width
-
पिक्सेल में छवि की चौड़ाई।
-
height
-
पिक्सेल में छवि की ऊँचाई।
-
ऑब्जेक्ट्स से जुड़ी फाइलों पर अतिरिक्त तरीके
कोई भी
File
जो किसी ऑब्जेक्ट से जुड़ी होती है (जैसा कि
Car.photo
, नीचे) के साथ कुछ अतिरिक्त तरीके भी होंगे:
-
File.save(name, content, save=True)
-
फ़ाइल नाम और दी गई सामग्री के साथ एक नई फ़ाइल बचाता है। यह मौजूदा फ़ाइल को प्रतिस्थापित नहीं करेगा, लेकिन एक नई फ़ाइल बनाएगा और उसे इंगित करने के लिए ऑब्जेक्ट को अपडेट करेगा। यदि
save
True
, तो फाइलsave()
ही मॉडल काsave()
तरीका कहलाएगा। यही है, ये दो लाइनें हैं:>>> car.photo.save('myphoto.jpg', content, save=False) >>> car.save()
के बराबर हैं:
>>> car.photo.save('myphoto.jpg', content, save=True)
ध्यान दें कि
content
तर्क मेंFile
का एक उदाहरण याFile
का एक उपवर्ग होना चाहिए, जैसे किContentFile
।
-
File.delete(save=True)
-
मॉडल उदाहरण से फ़ाइल को निकालता है और अंतर्निहित फ़ाइल को हटाता है। अगर
save
True
, तो फाइल डिलीट होते ही मॉडल काsave()
तरीका कहलाएगा।