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

Python CGI प्रोग्रामिंग का उपयोग करके फाइल अपलोड कैसे करें?


फाइल अपलोड करने के लिए, HTML फॉर्म में `enctype` एट्रिब्यूट `multipart/form-data` पर सेट होना चाहिए। `file` टाइप वाला इनपुट टैग "ब्राउज़" बटन बनाता है।

उदाहरण

<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>

आउटपुट

इस कोड का परिणाम निम्न फॉर्म है:

File: Choose file Upload

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

#!/usr/bin/python
import cgi, os
import cgitb; cgitb.enable()
form = cgi.FieldStorage()
# यहां फाइलनाम प्राप्त करें
fileitem = form['filename']
# टेस्ट करें कि फाइल अपलोड हुई या नहीं
if fileitem.filename:
    # डायरेक्टरी ट्रैवर्सल अटैक्स से बचने के लिए फाइल नाम से लीडिंग पाथ स्ट्रिप करें
    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


    

%s

""" % (message,)

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

fn = os.path.basename(fileitem.filename.replace("\\", "/"))
  1. पायथन का उपयोग करके PDF फ़ाइलों को एक्सेल फ़ाइलों में कैसे कन्वर्ट करें? पायथन का उपयोग करके PDF फ़ाइलों को एक्सेल फ़ाइलों में कैसे कन्वर्ट करें?

    पायथन में विभिन्न प्रकार के ऑपरेशन हैंडल करने के लिए पैकेज का बड़ा सेट है। इस लेख के माध्यम से, हम देखेंगे कि PDF फ़ाइल को एक्सेल फ़ाइल में कैसे कन्वर्ट करें। पायथन में PDF को CSV में कन्वर्ट करने के लिए विभिन्न पैकेज उपलब्ध हैं लेकिन हम Tabula-py मॉड्यूल का उपयोग करेंगे। tabula-py का प्रमुख भाग जा

  1. - पायथन का उपयोग करके फ़ाइल कैसे डिलीट करें?

    आप os मॉड्यूल में फ़ंक्शन्स का उपयोग करके एक सिंगल फ़ाइल या एक सिंगल खाली फ़ोल्डर डिलीट कर सकते हैं। उदाहरण के लिए, यदि आप my_file.txt फ़ाइल डिलीट करना चाहते हैं, >>> import os >>> os.remove(my_file.txt) os.remove का आर्गुमेंट एब्सोल्यूट या रिलेटिव पथ होना चाहिए।

  1. - पायथन का उपयोग करके फ़ाइल को कैसे रीनेम करें?

    आप os मॉड्यूल के rename मेथड का उपयोग कर सकते हैं। उदाहरण के लिए, आप वर्तमान डायरेक्टरी में मौजूद इन फ़ाइलों के साथ a.txt से b.txt में फ़ाइल का नाम बदलना चाहते हैं, >>> import os >>> os.rename(a.txt, b.txt) आप shutil (शेल यूटिलिटीज़) मॉड्यूल का भी उपयोग कर सकते हैं। shutil.move(so