Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में फ़ाइल अपलोड उदाहरण

कोई फ़ाइल अपलोड करने के लिए, HTML प्रपत्र में enctype विशेषता मल्टीपार्ट/फ़ॉर्म-डेटा पर सेट होनी चाहिए . फ़ाइल प्रकार वाला इनपुट टैग "ब्राउज़ करें" बटन बनाता है।

<html>
<body>
   <form enctype = "multipart/form-data" action = "save_file.py" method = "post">
   <p>File: <input type = "file" name = "filename" /></p>
   <p><input type = "submit" value = "Upload" /></p>
</form>
</body>
</html>

आउटपुट

इस कोड का परिणाम निम्न रूप है -

पायथन में फ़ाइल अपलोड उदाहरण

हमारे सर्वर पर फ़ाइल अपलोड करने वाले लोगों को सहेजने के लिए उपरोक्त उदाहरण को जानबूझकर अक्षम कर दिया गया है, लेकिन आप अपने सर्वर के साथ उपरोक्त कोड आज़मा सकते हैं।

यहां स्क्रिप्ट है save_file.py फ़ाइल अपलोड को संभालने के लिए -

#!/usr/bin/python
import cgi, os
import cgitb; cgitb.enable()
form = cgi.FieldStorage()
# Get filename here.
fileitem = form['filename']
# Test if the file was uploaded
if fileitem.filename:
   # strip leading path from file name to avoid
   # directory traversal attacks
   fn = os.path.basename(fileitem.filename)
   open('/tmp/' + fn, 'wb').write(fileitem.file.read())
   message = 'The file "' + fn + '" was uploaded successfully'
else:
   message = 'No file was uploaded'
print """\
Content-Type: text/html\n
<html>
<body>
   <p>%s</p>
</body>
</html>
""" % (message,)

यदि आप उपरोक्त स्क्रिप्ट को यूनिक्स/लिनक्स पर चलाते हैं, तो आपको फ़ाइल विभाजक को निम्नानुसार बदलने का ध्यान रखना होगा, अन्यथा आपके विंडोज़ मशीन पर open() कथन के ऊपर ठीक काम करना चाहिए।

fn = os.path.basename(fileitem.filename.replace("\\", "/" ))

  1. Askopenfile () पायथन टिंकर में फ़ंक्शन

    पायथन प्रोग्राम द्वारा उपयोग की जाने वाली फ़ाइल के पथ को हार्ड कोडिंग करने के बजाय, हम उपयोगकर्ता को GUI का उपयोग करके ओएस फ़ोल्डर संरचना को ब्राउज़ करने की अनुमति दे सकते हैं और उपयोगकर्ता को फ़ाइल का चयन करने दे सकते हैं। यह टिंकर मॉड्यूल का उपयोग करके हासिल किया जाता है जिसमें हम एक कैनवास परिभाष

  1. पायथन में फाइल ऑब्जेक्ट्स?

    पायथन में, जब भी हम फ़ाइलों को पढ़ने या लिखने की कोशिश करते हैं, तो हमें किसी पुस्तकालय को आयात करने की आवश्यकता नहीं होती है क्योंकि इसे मूल रूप से संभाला जाता है। फ़ाइल ऑब्जेक्ट प्राप्त करने के लिए सबसे पहले हम बिल्ट-इन ओपन फ़ंक्शन का उपयोग करेंगे। खुला फ़ंक्शन एक फ़ाइल खोलता है और एक फ़ाइल ऑब्ज

  1. पायथन में जंक फाइल ऑर्गनाइज़र?

    यह एक आलसी अजगर प्रोग्रामर के लिए बहुत उपयोगी लग सकता है जो अधिकांश फाइलों और फ़ोल्डरों को एक स्थान पर रखता है और कभी-कभी भ्रमित होता है कि सभी फाइलें क्या हैं और निश्चित रूप से वह इसे मैन्युअल रूप से करने के लिए बहुत आलसी है। तो नीचे एक पायथन प्रोग्राम है जो एक ही बार में उपयुक्त फ़ोल्डर में सब कुछ